HarmonyOS ArkTS 实战:实现一个校园成绩查询与学分统计应用
HarmonyOS ArkTS 实战实现一个校园成绩查询与学分统计应用项目效果本文使用 HarmonyOS 和 ArkTS 实现一个校园成绩查询与学分统计应用。应用可以查询各学期课程成绩计算GPA绩点统计已修学分查看课程排名并提供挂科提醒、成绩分析和学分进度等功能。项目使用 DevEco Studio 开发适配 API 23 及以上版本。运行效果功能介绍学期成绩查询GPA绩点计算学分统计成绩排名挂科提醒成绩分布分析学分进度条课程详情按学期筛选不及格课程统计定义数据结构interfaceCourse{id:number;name:string;credit:number;score:number;gradePoint:number;semester:string;courseType:string;isMakeup:boolean;}字段id/课程名/学分/分数/绩点/学期/课程类型/是否补考初始化页面状态StateprivateselectedSemester:string全部;StateprivatecurrentStudentId:string2023001;初始数据Stateprivatecourses:Course[][{id:1,name:高等数学,credit:4,score:92,gradePoint:4.0,semester:2023-2024-1,courseType:必修,isMakeup:false},{id:2,name:大学英语,credit:3,score:85,gradePoint:3.5,semester:2023-2024-1,courseType:必修,isMakeup:false},{id:3,name:程序设计基础,credit:4,score:95,gradePoint:4.0,semester:2023-2024-1,courseType:必修,isMakeup:false},{id:4,name:大学物理,credit:4,score:58,gradePoint:0,semester:2023-2024-1,courseType:必修,isMakeup:true},{id:5,name:数据结构,credit:4,score:88,gradePoint:3.7,semester:2023-2024-2,courseType:必修,isMakeup:false}];GPA计算privatecalculateGPA(courseList:Course[]):number{consttotalCreditcourseList.reduce((sum,c)sumc.credit,0);if(totalCredit0)return0;consttotalPointcourseList.reduce((sum,c)sumc.credit*c.gradePoint,0);returnMath.round((totalPoint/totalCredit)*100)/100;}统计数据privategetTotalCredit():number{returnthis.courses.filter(cc.score60).reduce((sum,c)sumc.credit,0);}privategetFailedCount():number{returnthis.courses.filter(cc.score60).length;}privategetAverageScore():number{constpassedthis.courses.filter(cc.score60);if(passed.length0)return0;returnMath.round(passed.reduce((sum,c)sumc.score,0)/passed.length);}设置分数颜色privategetScoreColor(score:number):ResourceColor{if(score90)return#7E22CE;if(score80)return#059669;if(score60)return#F59E0B;return#DC2626;}主题色深紫色#7E22CE体现学习、学术、专业的感觉。页面设计说明页面分为顶部个人信息和GPA展示、统计卡片总学分/平均分/挂科数/当前排名、学期筛选、成绩列表。高分用紫色及格用绿色不及格用红色。SDK 配置统一使用 API 24 配置。运行项目entry/src/main/ets/pages/Index.ets项目总结实现了成绩查询、GPA计算、学分统计、挂科提醒、成绩分析等功能。掌握了绩点计算、数据统计、条件筛选、状态管理等。后续可加入成绩排名、成绩单导出、补考报名、选课推荐、培养方案对比等功能。