当前位置: 首页 > news >正文

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

http://www.jsqmd.com/news/1219881/

相关文章:

  • 星穹铁道跃迁记录导出工具:免费终极数据分析方案
  • 深入解析TI C2000 ePWM高级功能:斩波、故障保护与数字比较实战
  • 【OpenHarmony/HarmonyOs 】18|好友申请状态机:从 `pending` 到可回溯流转,避免重复申请与脏状态
  • Flutter悬浮窗组件flutter_floating开发指南
  • 3分钟掌握C++ CSV解析神器:告别繁琐数据处理,提升开发效率10倍
  • 零基础怎么在APS官网核验CPPM证书 - 众智商学院职业教育
  • 【AI语音转文字会议记录终极指南】:20年IT专家亲测的7大避坑法则与实时准确率提升42%实战方案
  • AM275x BCDMA寄存器深度解析:从控制到状态,构建高效DMA数据流
  • Android字节码插桩技术详解与应用实践
  • 雷达中国官方售后服务中心|官方地址及售后服务热线权威信息通告(2026年7月更新) - 亨得利钟表维修中心
  • GHelper终极指南:华硕笔记本性能控制如何从复杂到简单只需3步
  • MT3音乐转录实战指南:10分钟实现专业级多乐器自动转录
  • PyPortfolioOpt终极指南:Python量化投资组合优化的完整解决方案
  • 如何用MicMute解决在线会议中的麦克风控制难题:从痛点识别到高效工作流整合
  • 7-Zip Zstandard:如何让经典压缩工具在新时代重获新生
  • 2026保定迪奥包包回收门店科普:莲池区毓典寄卖行本地奢侈品便民指南 - GrowUME
  • GHelper架构重构:如何用轻量化设计重新定义华硕笔记本硬件控制范式
  • LuaJIT字节码逆向分析终极指南:专业级LJD反编译工具完整解析
  • 金融计算中的高精度浮点数处理与优化
  • Path of Building PoE2:免费开源角色构建模拟器终极指南
  • MIT App Inventor终极指南:零代码开发Android/iOS应用的完整教程
  • 全自动包装生产线品牌推荐,广州恒尔一站式搭建稳定高效生产体系 - 品牌速递
  • 游戏安全防护与反作弊技术深度解析
  • AutoClicker:Windows鼠标自动化终极指南,告别重复点击的烦恼
  • 3分钟拯救损坏视频:untrunc终极修复工具完整指南
  • 如何用React构建企业级审批流程设计器:DingFlow终极指南
  • 2026年实测教程:不用软件怎么把视频转成动图?亲测好用的方法 - 效率工具研究所
  • THSpringyCollectionView扩展应用:创建自定义弹性布局组件的完整指南
  • 终极指南:快速构建PC微信Hook机器人的完整实战教程
  • 3分钟构建黑苹果EFI:OpCore Simplify如何让复杂配置变得简单