《大学计算机基础(理科)》大作业实验报告
1
北京航空航天大学
2021-2022 学年 第二学期
《大学计算机基础(理科)》
大作业实验报告
班 级__XXXXXX__学 号 _XXXXXXXX_
姓 名__XXX__成 绩 _________
2022 年 7 月
《大学计算机基础(理科)》大作业实验报告
2
题目二 简易成绩管理系统
一、实验目的
一:GUi 的设计与使用、用户交互界面的设计与美化
二:qtdesigner 中各个组件的方法与槽的应用
三:pandas、numpy 以及 matplotlib.pyplot 的使用
四:不同文件之间的相互调用以及界面的跳转
五:导出为不同的文件类型
六:不同组件父类的确定
二、实验任务
一、教师/学生用户的注册以及登录(主要的是同一个账号不能重复注册,注
册后账号密码的存储)
二、教师对学生成绩的增删查改
三、老师将成绩导出为不同格式文件
四、老师为不同班级不同场次考试生成可视化的成绩图表
五、老师对成绩实现数据统计分析
六、学生用户查询自己的成绩和排名情况
七、将成绩储存在本地的数据库中
八、设计有好的 GUI 界面
九、更友好的查询条件与添加成绩条件
三、总体设计方案
主要实现了
一、学生与老师的注册登录功能
二、老师的添加成绩功能
三、老师删除成绩的功能
四、老师导出成绩为不同文件的功能
五、老师查询成绩功能
六、学生查询成绩功能
七、学生确定是否显示班级排名或年级排名
《大学计算机基础(理科)》大作业实验报告
3
八、学生分析成绩功能
九、实时同步更新数据库与同步显示功能
四、设计思路和关键语法
主要代码全在第七:实验总结第一问中,请跳转
首先就是设计跳转方法,通过
switch_window5 = QtCore.pyqtSignal()
self.switch_window0.emit()
语句来进行实现,然后就是通过 qtdesigner 设计不同的界面。设计完不同界面之间的跳转之
后,就是来丰富不同界面的功能。
首先便是注册界面,需要实现账号的非重复注册,以及其他各种信息的正确填写,然后
就是登录功能,需要确保帐号密码的正确输入,以及帐号密码错误之后的警告弹窗。
关于老师管理成绩界面,首先便是实现最基本的功能:增加成绩,通过设置不同科目的
输入框来获取当前成绩,用相应的函数获取文本后,连接数据库、导入成绩、更新数据库;
之后便是删除功能,这个比较复杂,我的方法是点击要删除的成绩,点击时通过函数获取所
选成绩的行数,然后获取本行学生的学号与考试场次,然后连接数据库,通过 delete 语句从
数据库中删除相应的数据,之后再用 remove 函数将数据从本地删除。搜索功能就是获取搜
索框内输入的文本,然后搜索数据库内所有数据进行比对,如果数据符合条件,便将数据显
示在屏幕上。最后便是成绩导出功能。使用下拉框,为老师提供不同的选择功能,分别是 excel,
csv,折线图,柱形图四种方式,通过选择不同的考试场次以及班级或者科目,进而输出不
同的分析格式。
学生的成绩查询界面相对来说就比较简单,只有查询和分析两个功能,其中夹杂了一个
是否显示排名的小功能,查询功能和老师查询代码基本相同,只不过要限定只能查询自己的
成绩分析功能也跟老师导出成绩分析的函数基本相同,它们的结构是一样的,主要区别便是
数据筛选范围的不同。
五、程序运行效果
第一步:创建成绩数据库与账号密码数据库
账号密码数据库同理
第二步:选择身份
《大学计算机基础(理科)》大作业实验报告
4
第三步:选择我是老师并进行注册
第四步:注册账号密码,注意事项:工号需要是六位数,班级注册码为 200211
《大学计算机基础(理科)》大作业实验报告
5
第五步:登录添加成绩
评论0