news 2026/7/19 12:47:25

HarmonyOS ArkTS 实战:实现一个校园成绩查询与学分统计应用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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:string='2023001';

初始数据:

@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{consttotalCredit=courseList.reduce((sum,c)=>sum+c.credit,0);if(totalCredit===0)return0;consttotalPoint=courseList.reduce((sum,c)=>sum+c.credit*c.gradePoint,0);returnMath.round((totalPoint/totalCredit)*100)/100;}

统计数据

privategetTotalCredit():number{returnthis.courses.filter(c=>c.score>=60).reduce((sum,c)=>sum+c.credit,0);}privategetFailedCount():number{returnthis.courses.filter(c=>c.score<60).length;}privategetAverageScore():number{constpassed=this.courses.filter(c=>c.score>=60);if(passed.length===0)return0;returnMath.round(passed.reduce((sum,c)=>sum+c.score,0)/passed.length);}

设置分数颜色

privategetScoreColor(score:number):ResourceColor{if(score>=90)return'#7E22CE';if(score>=80)return'#059669';if(score>=60)return'#F59E0B';return'#DC2626';}

主题色:深紫色#7E22CE,体现学习、学术、专业的感觉。

页面设计说明

页面分为:顶部个人信息和GPA展示、统计卡片(总学分/平均分/挂科数/当前排名)、学期筛选、成绩列表。高分用紫色,及格用绿色,不及格用红色。

SDK 配置

统一使用 API 24 配置。

运行项目

entry/src/main/ets/pages/Index.ets

项目总结

实现了成绩查询、GPA计算、学分统计、挂科提醒、成绩分析等功能。掌握了绩点计算、数据统计、条件筛选、状态管理等。后续可加入成绩排名、成绩单导出、补考报名、选课推荐、培养方案对比等功能。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/19 12:46:13

零基础也能开发APP!MIT App Inventor可视化编程完整指南

零基础也能开发APP&#xff01;MIT App Inventor可视化编程完整指南 【免费下载链接】appinventor-sources MIT App Inventor Public Open Source 项目地址: https://gitcode.com/gh_mirrors/ap/appinventor-sources 你是不是曾经有过这样的想法&#xff1a;"要是我…

作者头像 李华
网站建设 2026/7/19 12:46:10

高效专业的企业级代码差异展示器:Diff2Html 技术深度解析

高效专业的企业级代码差异展示器&#xff1a;Diff2Html 技术深度解析 【免费下载链接】diff2html Pretty diff to html javascript library (diff2html) 项目地址: https://gitcode.com/gh_mirrors/di/diff2html 在现代软件开发流程中&#xff0c;代码变更的可视化展示对…

作者头像 李华
网站建设 2026/7/19 12:45:13

3步实现通达信缠论分析自动化:ChanlunX实战指南

3步实现通达信缠论分析自动化&#xff1a;ChanlunX实战指南 【免费下载链接】ChanlunX 缠中说禅炒股缠论可视化插件 项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunX ChanlunX是一款专业的通达信缠论插件&#xff0c;能够自动识别笔段、绘制中枢结构&#xff0c;…

作者头像 李华
网站建设 2026/7/19 12:44:01

嵌入式Linux命令行开发实战指南

1. 嵌入式Linux命令行的核心价值 在嵌入式开发领域&#xff0c;熟练掌握Linux命令行就像焊工掌握烙铁一样基础且关键。与桌面环境不同&#xff0c;嵌入式设备往往没有图形界面&#xff0c;所有操作都需要通过命令行完成。我在实际项目中发现&#xff0c;开发效率的差距往往就体…

作者头像 李华