Linux学生QT成绩查询系统大作业报告,课内资源 - 基于QT实现的学生成绩管理系统...

本文档详述了一款基于Linux和QT的学生成绩管理系统,包括系统需求分析、总体设计、详细设计、系统调试和测试结果。系统提供录入、修改成绩、查询特定学生、课程成绩、总成绩和挂科情况等功能,采用文件存储成绩信息,并通过菜单式界面操作。在调试过程中,解决了搜索关键字、错误输入处理和大量误操作导致的系统崩溃等问题,提升了系统稳定性和用户体验。
摘要由CSDN通过智能技术生成

1.系统需求分析

学生成绩管理系统记录了学生大一的各科成绩及每门课程的成绩,它包括:学

期、姓名、班级(汉字)、学号、科目、学分、分数,试设计学生成绩管理系统,使之能提供以下功能:

录入、修改学生的各科的成绩信息:从键盘输入数据(提示:为避免重复从键盘输入数据,测试时可将数据存储在文件中,利用输入重定向功能读入),输入格式为:学期 姓名 班级 学号 科目 学分 分数。每行一条记录。并在输入不合法记录时报错。若该信息已存在则覆盖原信息。系统根据分数得到该信息对应的评级、学分绩及是否挂科。

例如:大一上学期 王世杰 无七六 2016010539 工程制图 2 87

此时系统得到该信息评级为 B+,学分绩为 3.3,未挂科

查询某个学生某学期或整个学年各门课的成绩:按照分数降序排列,相同的课程按学分降序排列,并提供该课程的评级和学分绩。同时给出该时间段平均学分绩

统计某课程所有学生总成绩情况,按照分数(总学分绩)降序排列,相同的按学号升序排列

查询某课程所有学生成绩,按照分数(总学分绩)降序排列,相同的按学号升序排列

统计学生挂科数并按降序排列,相同的按姓名升序排列

系统以菜单方式工作。(所谓菜单指用户可以自由选择所要执行的功能。学生可以通过以上功能录入信息、修改信息、查询信息、整理统计出所要了解的信息,除了要实现上述的基本功能之外,本系统还应该在细节上下工夫,使用户使用方便)

2.总体设计

大一学生成绩管理系统包含五个大的功能,分别是:录入、修改学生成绩,查询某学生成绩,查询某课程所有学生成绩,查询所有学生总成绩情况,查询挂科情况。每个功能对应一个界面,每个界面均有操作提示,并可返回之前的界面。学生的成绩信息主要包含学期、姓名、班级(汉字)、学号、科目、学分、分数,以及根据分数转换得到的学分绩、评级和是否挂科。信息存储基于文件操作。

打开系统首先是进入欢迎界面,打出欢迎使用的字样。在欢迎界面,系统会自动根据存储信息的文件统计文件中的信息条数,创建录入信息类对象数组来存放最新版本的信息并将其写入文件。同时制作所有学生的 studentGrade 类对象数组。

紧接着进入主界面,有 6 个选项,分别是进入对应 5 个功能的界面及结束界面。

在录入、修改学生成绩界面(page1),根据系统提示一次性输完一整条信息。若输入信息有误,如学期不正确(不为大一上学期或大一下学期),则报错,提示重新输入。系统根据信息的学期、姓名、科目信息判断是否为新信息,若为新信息则覆盖原信息。在退出该界面时,更新文件并统计文件中的信息数,创建录入信息类对象数组来存放最新版本的信息。同时制作所有学生的 studentGrade 类对象数组。

在查询某学生成绩界面(page2),用户首先输入要修改的学生学号,再选择要查询的学期。如果系统中没有该学生的相关信息,则系统会给相关提示。如果系统中有该学生的相关信息则按照分数降序排列,相同的课程按学分降序排列,并提供该课程的评级和学分绩。

在查询某课程所有学生成绩情况界面(page3),用户先输入要查询的学期和课程名,系统检索判断是否存在该课程。若不存在则提示系统中无此课程。若存在显示该课程所有学生成绩,按分数降序排列,分数相同则按学号升序排列。

在查询所有学生

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值