1 Star 1 Fork 0

Qt小徐 / StuManSys

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

使用 EasyX 实现的学生成绩管理系统

程序介绍

这是一个使用 C++ 和 EasyX 绘图库实现的学生成绩管理系统,里面包含了查看学生、搜索学生、添加学生、删除学生、清空学生、按学号排序、按总分排序这些功能。简单地封装了一下界面,比如 Button 类、Table 类等等,使得程序可以添加按钮、表格等控件,在细节方面处理得也比较到位。其实代码中最复杂的部分就是封装界面的部分,既难理解,又麻烦,大家了解一下就行,在实际开发中我们更应该注重业务逻辑的实现,而不是界面封装。代码中运用到了一些类、继承、多态等面向对象特性,值得初学者学习。最后,如果项目中有不足,恳请大家留言,我会尽力修改,力求更好。

程序截图

图 1 - 程序主窗口界面

图 1 - 程序主窗口界面

图 2 - 查看学生界面

图 2 - 查看学生界面

图 3 - 编辑学生界面

图 3 - 编辑学生界面

代码分析

1. GUI 的封装

因为 EasyX 本质上就是一个绘图库,无法实现 GUI 功能,所以代码封装了一个抽象基类 Widget 来作为所有窗口的基类。控件本质上也是一个窗口,所以定义一个 Button 类和 Table 类继承 Widget 类,用来分别实现按钮部件和表格部件。最后定义一个 Window 类继承 Widget 类,用来实现窗口,GUI 代码的封装就完成了。

2. 业务逻辑的实现

为了管理学生数据,可以封装一个 Manager 类,里面定义一些管理学生的操作,比如添加学生、删除学生、排序等操作,这样就实现了管理学生。而剩下的操作都是在 Window 类中实现,可以看出 GUI 的封装要比业务逻辑的实现复杂许多。

构建

编译环境

  • Windows 11
  • Visual Studio 2022
  • EasyX_20220901

注意事项

如打开源码文件后中文出现乱码,请以 GBK 或类似中文编码重新加载。

EasyX 下载

官网教程:https://docs.easyx.cn/zh-cn/setup

更新和修复

2023 年 1 月 31 日

  1. 修复按钮屏闪的问题。
  2. 修复查看学生为第 1 页时,向上翻页出现错误的问题。
  3. 优化部分代码逻辑。
  4. 优化在未修改学生数据时,可以直接退出程序。
  5. 添加在删除学生时,要先搜索学生的提示。
  6. 编辑学生时,添加学生的格式判断。

2022 年 7 月 22 日

  1. 发布项目。

许可协议

本项目使用 MIT 协议,任何人都可以复制、修改、发布、使用、销售该源代码,或者在开源项目中引用该源代码,详见 LICENSE 文件。

主页

CodeBus - Qt小徐:https://codebus.cn/qtlittlexu
Github - QtLittleXu:https://github.com/QtLittleXu

MIT License Copyright (c) 2023-2024 Xu Yuxuan <QtLittleXu@163.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

这是一个使用 C++ 和 EasyX 绘图库实现的学生成绩管理系统,里面包含了查看学生、搜索学生、添加学生等功能,使用 EasyX 简单地封装了 UI 界面 展开 收起
C++
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C++
1
https://gitee.com/qtlittlexu/StuManSys.git
git@gitee.com:qtlittlexu/StuManSys.git
qtlittlexu
StuManSys
StuManSys
main

搜索帮助

53164aa7 5694891 3bd8fe86 5694891