大一上学期C++课程设计——学生成绩管理系统(QT项目)

这里是一个大一的萌新!仅做学习分享

工程文件在评论区置顶!!
近期整理了一下大一上学期的课程设计报告作为学习总结,使用的软件是Qt Creator,主界面效果如下图

大一上学期C++课程设计——学生成绩管理系统(QT项目)

图1 流程图

大一上学期C++课程设计——学生成绩管理系统(QT项目)

图3 新建QT工程

将弹出的对话框,选择主窗口mainwindow类,点击下一步,如图4所示。

大一上学期C++课程设计——学生成绩管理系统(QT项目)

图5 新建的主窗口框

3.2 界面设计

1、创建控件

在图5所示的Forms选项卡中双击打开ui界面,在窗口左边。开始摆放控件,包括编辑框和按钮的创建。按钮的创建以“添加学生”为例进行介绍,其他按钮的创建可参照此进行操作。

大一上学期C++课程设计——学生成绩管理系统(QT项目)

图7 UI设计界面

1)在图6中左侧列表选择合适的控件拖拽到设计界面中间进行摆放。

2)在图6中“Buttons”按钮上单击鼠标左键,在对话框上的合适的位置上按下鼠标左键并拖动鼠标画出一个大小合适的下压式按钮。在按钮上单击鼠标右键,在弹出的快捷菜单中选择属性选项,此时也弹出Push Button属性对话框,如图7所示,在该对话框中输入控件的ID值和标题属性。

大一上学期C++课程设计——学生成绩管理系统(QT项目)

图9添加学生界面

2、连接变量和代码

1) 给按钮连接变量。在按钮上单击鼠标右键,在弹出菜单中选择转到槽,就可以给该窗口类添加一个槽函数来进行点击输入等事件的操作,如图9所示。

大一上学期C++课程设计——学生成绩管理系统(QT项目)

图11 新建的槽函数

创建成功后,在槽函数中写下实现相应功能的代码即可

3.3 关键功能的实现

1)学生信息的输入

编辑框所关联的变量为lid,lname等,还有按钮组、下拉列表等实现信息填入的控件,当点击确认按钮且信息合法时,将进行录入信息函数

2)查询功能的实现

一开始和添加功能类似,先将选择搜索的对应信息存入key字符串,读取文件后作为关键字在文件中搜索出对应条目,点击时会显示对应学号供操作者修改或删除对应信息

3)删除和修改的实现

由于学号有唯一性,所以按照学号来对对应信息条目进行删除和修改,点击删除后弹框提醒确认删除后进行删除操作,点击修改则弹出修改子窗口进行信息的更改

删除功能:将对应信息作为字符串存起来,遍历存储信息的list容器进行覆盖存储文件,当遍历到要删除的信息时不存储即可

修改功能:将要修改的信息存储起来填到修改信息窗口上给操作者进行修改,注意此处由于学号唯一,学号不可修改,若有需要则在删除操作中删除对应学号信息

4)统计和排序的实现

当选择小中大学生时按默认顺序显示全部学生信息,在传入list容器时直接计算统计后显示各科平均分等,选择对应排序条件后点击排序按钮,将使用tableview类中自带的排序方法对数据进行排序

4 结论与心得体会

经过长时间的调试修改,得出结论该学生成绩管理系统符合题目所需要求

心得体会:花费了一整周时间来学习QT来设计自己的图形界面实现课设所需功能,最终实现用了自己喜欢的图案完成程序,真的很有成就感,也实现了自己在程序设计上的一个小目标——写出自己的第一个设计项目(虽然还比较简单)。

在编写过程中遇到非常多的困难,一般都是通过搜索对应问题和上CSDN看大佬的博客解决,掌握了学习程序设计遇到困难的解决办法、也收获了大量的编程知识

5 参考文献

[1] 谭浩强 C++程序设计(第3版)清华大学出版社 2015

[2] Henrik-Yao C++的QT项目打包成独立可执行和发布的exe文件

CSDN网址:https://blog.csdn.net/qq_50216270/article/details/121374493

6 附录

6.1 调试报告

1、编译时提示错误:

E:CodeQTclassworkStudentManagermain.cpp:31: error: expected ‘;’ before ‘return’

return a.exec();//涓昏繍琛屽惊鐜

^

原因为分号是在中文输入法状态下输入,将其改为英文输入状态下了分号即可。

2、添加学生后出现信息重复学号写入的问题,在成员函数中添加一个判断添加信息是否合法的判断:即信息是否与之前重复,若重复则弹出窗口提示操作者

3、统计和排序显示时切换小中大学生会出现小学生也有地理历史成绩的情况,解决方法为添加一个槽函数,当下拉列表对应的文本改变时,清空tableview显示再继续进行显示信息

6.2 测试结果

主窗口如下

大一上学期C++课程设计——学生成绩管理系统(QT项目)

图13 结果图一

在主窗口点击统计和排序,在统计和排序中可看到存入的信息如图14(学生名:测试)

并且该窗口下方显示的即为统计得到的信息,处理成功

大一上学期C++课程设计——学生成绩管理系统(QT项目)

图15 结果图三

可以看到成功实现排序且左侧有子列显示当前所排序的项的成绩信息

3.在主窗口中点击查询和修改,选择学生就读情况,搜索对应信息学生名字“测试”

大一上学期C++课程设计——学生成绩管理系统(QT项目)

图17 结果图五

点击修改,弹出修改信息框进行修改如图17

大一上学期C++课程设计——学生成绩管理系统(QT项目)

*3.实现统计和排序函数*

来源:海蛋2333

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年11月26日
下一篇 2022年11月26日

相关推荐