<p align="center">
<img src="images/title.png" width="80%" >
</p>
# 基于Qt框架(C++)和SQLite数据库的学生信息管理系统
## 项目简介:
这个项目是基于**Qt框架(C++)**和**SQLite**轻量级数据库开发的**GUI**学生信息管理系统,系统集成了学生基本信息管理、成绩记录、班级管理、课表查看等功能。
## 技术栈
- **前端界面**:Qt框架(C++)
- Qt Widgets:用于构建丰富的桌面应用程序界面。
- Qt SQL模块:用于数据库操作,简化数据库访问和管理。
- **后端数据库**:SQLite
- 轻量级数据库引擎,无需单独安装,易于部署。
- 支持SQL标准,适合小型到中型应用。
## 操作说明
### 一.登录界面:
<p align="center">
<img src="images/login.png" width="80%" >
</p>
1. 输入用户名,学生端用户名为学生的学号,管理员端用户名为"sdu"。
2. 输入密码,密码默认为"12345678",登录后可以自行更改密码,密码保存在数据库中,为经过MD5加密以后的字符串。
3. 保存用户名,是否保存用户名,如果点击保存,则程序会把用户名存入注册表中,下一次登录时将自动填入上一次保存的用户名。
(注册表路径:计算机\HKEY_CURRENT_USER\Software\SMS\studentManagementSystem Windows中在终端用"regedit"指令查看注册表)
4. 点击进入或退出系统。
5. 切换学生端和管理员端。
### 二.学生端(管理员端)界面:
<p align="center">
<img src="images/stud.png" width="80%" >
</p>
1. 工具栏,可以按住上方拖动条拖动,使之横向显示,点击工具栏上的每个选项切换至相应界面,每个选项也设置有快捷键(自上往下依次为Ctrl+1到Ctrl+5),可以用快捷键快速切换界面,鼠标悬停在选项上显示提示信息,点击退出系统时会询问是否退出。
2. 功能界面,相应功能实现的组件。
3. 状态栏,左下角会显示相应的提示信息,右下角会显示当前系统时间和山东大学的校徽。
4. 管理员端与学生端架构相似。
### 三.功能界面:
#### 学生端:
* 个人信息:
<p align="center">
<img src="images/个人信息.png" width="80%" >
</p>显示学生的详细个人信息
* 成绩查询:
<p align="center">
<img src="images/成绩查询.png" width="80%" >
</p>
1. 可以选择用于排序的字段,包括升降序。
2. 显示成绩表单。
3. 显示当前选中的详细成绩表单。
4. 一键导出CSV文件,可以用Excel表格查看
* 选课浏览:
<p align="center">
<img src="images/选课浏览.png" width="80%" >
</p>
1. 可以查看当前学期课表,包括课程名和地点。
2. 选择查看的学期。
3. 显示当前学期与总学分。
4. 显示课程表单。
* 课程信息:
<p align="center">
<img src="images/课程信息.png" width="80%" >
</p>
1. 显示课程信息表,支持分学期查看。
2. 显示当前课程的详细信息。
3. 一键导出CSV文件,可以用Excel表格查看
* 修改密码:
<p align="center">
<img src="images/修改密码.png" width="80%" >
</p>
1. 输入旧密码和两次新密码,要求密码格式为8-16位的由数字和字母组成的字符串,不能包含特殊字符。
2. 确定或者取消更改密码。
#### 管理员端:
* 学生管理:
<p align="center">
<img src="images/学生管理.png" width="80%" >
</p>
1. 可以设置排序字段(字段名为数据库中的真实字段名),可以分男女,也可以通过学生号搜索。
2. 数据列表,可以修改数据内容。
3. 显示当前选中的记录,可以用来修改数据。
4. 功能栏:
* 添加:在列表尾添加一条记录。
* 插入:在选中列表记录位置插入一条记录。
* 保存:保存当前所有修改。
* 取消:取消当前所有修改。
* 删除:删除选中的记录。
* 设置照片:为选择的记录选择一张照片(从目录中)。
* 清除照片:清除当前记录的照片。
5. 输入要求:
* 学号:12位正值整数,如202300400506。
* 姓名:不超过10个字符且不包含特殊字符的字符串。
* 班级:在数据列表中选择现有班级(在数据库中为外键classID指向class表主键)。
* 性别:男或女。
* 出生日期:输入yyyy-mm-dd格式的日期。
* 省份:选择相应省份。
* 密码:默认为"12345678"经过MD5加密过的字符串,管理员可以改变相关学生的密码(经过MD5加密的格式)。
**下面的几个管理界面与组件排布上与学生管理界面相似,只介绍输入要求。**
* 成绩管理:
<p align="center">
<img src="images/成绩管理.png" width="80%" >
</p>
输入要求:
* 学号:12位正值整数,如202300400506。
* 课程号:课程的唯一标识号,可以在**课程管理**界面查看。
* 过程评价、期末成绩:0~100分的正值整数。
* 绩点:0~5.0的正值小数。
* 学期:yyyy-yyyy-x格式的字符串(学期信息保存在数据库的setting表中,可以查看和添加)。
* 学生选课:
<p align="center">
<img src="images/学生选课.png" width="80%" >
</p>
输入要求:
* 学号:12位正值整数,如202300400506。
* 课程号:课程的唯一标识号,可以在**课程管理**界面查看。
* 学期:yyyy-yyyy-x格式的字符串(学期信息保存在数据库的setting表中,可以查看和添加)。
* 课程管理:
<p align="center">
<img src="images/课程管理.png" width="80%" >
</p>
输入要求:
* 课程号:课程的唯一标识号,可以在**课程管理**界面查看。
* 课程:课程的名称,不超过20个字符。
* 课程类型:专业课、限选课和公共课。
* 学分:课程的学分数,正值整数。
* 课程时间:格式为星期X第X大节,如果一周有多节课则用空格间隔。
* 地点:课程授课地点。
* 教师:在数据列表中选择现有教师(在数据库中为外键teacherID指向teacher表主键)。
* 学院:在数据列表中选择现有学院(在数据库中为外键schoolID指向school表主键)。
* 教师管理:
<p align="center">
<img src="images/教师管理.png" width="80%" >
</p>
输入要求:
* 教师号:教师的唯一标识号。
* 姓名:教师的姓名,不超过10个字符。
* 学院:在数据列表中选择现有学院(在数据库中为外键schoolID指向school表主键)。
* 班级管理:
<p align="center">
<img src="images/班级管理.png" width="80%" >
</p>
输入要求:
* 班级号:班级的唯一标识号。
* 班级名:班级的姓名,不超过20个字符。
* 辅导员:在数据列表中选择现有教师(在数据库中为外键teacherID指向teacher表主键)。
* 专业:在数据列表中选择现有专业(在数据库中为外键majorID指向major表主键)。
* 修改密码:与学生端相似,只是不需要输入用户名,略。
### 四.注意事项:
* GUI并未做**Windows深色主题**适配,请使用**浅色主题**运行本程序!
## 数据库架构
### 一.数据库模块(smsDatabase类):
定义在smsdatabase.h和smsdatabase.cpp文件里,会在main.cpp中新建一个全局所有组件所共用的数据库接口(QSqlDatabase),会通过各自组件的构造函数传递smsDatabase类的指针给其他组件,模块会自动管理SQLite数据库接口的开启和关闭。
### 二.流程图:
```flow
st=>start: 程序启动
e=>end: 程序关闭
setGDB=>operation: 创建一个smsDatabase对象,创建数据库接口
login=>
没有合适的资源?快使用搜索试试~ 我知道了~
期末大作业c语言期末大作业+源代码+文档说明(亲测96分以上)
共704个文件
idx:594个
png:49个
h:18个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 114 浏览量
2024-09-04
15:01:28
上传
评论
收藏 13.55MB ZIP 举报
温馨提示
期末大作业c语言期末大作业+源代码+文档说明(亲测96分以上),含有代码注释,新手也可看懂,个人手打98分项目,导师非常认可的高分项目,期末大作业和课程设计高分必看,下载下来,简单部署,就可以使用。 期末大作业c语言期末大作业+源代码+文档说明(亲测96分以上),含有代码注释,新手也可看懂,个人手打98分项目,导师非常认可的高分项目,期末大作业和课程设计高分必看,下载下来,简单部署,就可以使用。 输入用户名,学生端用户名为学生的学号,管理员端用户名为"sdu"。 输入密码,密码默认为"12345678",登录后可以自行更改密码,密码保存在数据库中,为经过MD5加密以后的字符串。 保存用户名,是否保存用户名,如果点击保存,则程序会把用户名存入注册表中,下一次登录时将自动填入上一次保存的用户名。 (注册表路径:计算机\HKEY_CURRENT_USER\Software\SMS\studentManagementSystem Windows中在终端用"regedit"指令查看注册表) 点击进入或退出系统。 切换学生端和管理员端。期末大作业c语言期末大作业+源代码+文档说明(亲测96分
资源推荐
资源详情
资源评论
收起资源包目录
期末大作业c语言期末大作业+源代码+文档说明(亲测96分以上) (704个子文件)
studentmanagement.cpp 16KB
courseoverview.cpp 14KB
courseinformation.cpp 11KB
coursemanagement.cpp 9KB
selectionmanagement.cpp 9KB
scoremanagement.cpp 9KB
classmanagement.cpp 8KB
teachermanagement.cpp 8KB
scorequery.cpp 8KB
login.cpp 6KB
changepassword.cpp 5KB
m_mainwindow.cpp 4KB
Mchangepassword.cpp 4KB
mainwindow.cpp 4KB
userinfo.cpp 2KB
main.cpp 2KB
smsdatabase.cpp 969B
courseselection.cpp 717B
.gitignore 830B
moc_predefs.h 16KB
studentmanagement.h 3KB
m_mainwindow.h 2KB
mainwindow.h 2KB
scoremanagement.h 2KB
selectionmanagement.h 2KB
teachermanagement.h 2KB
coursemanagement.h 2KB
classmanagement.h 2KB
login.h 1KB
smsdatabase.h 1KB
changepassword.h 1KB
courseinformation.h 1KB
courseoverview.h 1KB
scorequery.h 962B
Mchangepassword.h 928B
courseselection.h 644B
userinfo.h 643B
studentSystem.ico 102KB
qnamespace.h.C6EB085D78FE54AE.idx 151KB
qmetatype.h.5187B90C62D0FD36.idx 144KB
stl_algo.h.5FCBF7AD2C39CA69.idx 142KB
qhash.h.8E1ED7DC4F6BE3BC.idx 111KB
qflags.h.9E2AD744BE54D1A4.idx 108KB
qlocale.h.F1ACDDAECC572889.idx 90KB
qstring.h.179A652D56A8F489.idx 84KB
qvarlengtharray.h.36BB77926863E779.idx 82KB
basic_string.h.3EA6F3E3C03CF711.idx 77KB
qlist.h.C75020197DD5B195.idx 74KB
locale_facets_nonio.tcc.B15B83DDA6549C46.idx 71KB
locale_facets.tcc.EF68331701F11585.idx 70KB
qmap.h.B1F20384F194D5F2.idx 68KB
stl_tree.h.6DA6C35CACB0A85E.idx 67KB
qstyleoption.h.BBD50B8E9592AD69.idx 65KB
qtextformat.h.6066331457F684A5.idx 64KB
qevent.h.366AE0AE4FF0B971.idx 62KB
qstyle.h.1F9CAF08552BE767.idx 61KB
qcontiguouscache.h.676B7BF3EFFAD178.idx 60KB
limits.ED72BFAE94F0CAA1.idx 57KB
ui_courseoverview.h.5FABE6416CD9C8F6.idx 56KB
qdebug.h.19F93B63D54B95F7.idx 55KB
wchar.h.8A9B623EE88F2D70.idx 52KB
qtmetamacros.h.F6B75D4D85163B1D.idx 51KB
basic_string.tcc.4EF75573B7A58625.idx 50KB
qsharedpointer_impl.h.35D14F49BB482EF4.idx 46KB
qwidget.h.1AC5C8365AC4506A.idx 44KB
type_traits.EF1DD7E3AB38D0D3.idx 44KB
qvariant.h.CB5206260484B6EC.idx 43KB
qchar.h.0AC9676E0BF36E2C.idx 43KB
qbytearray.h.D2D3BE1BEE5E58B8.idx 41KB
qtypeinfo.h.146A7A97C41005B9.idx 41KB
qcolor.h.17B3D1A73D438855.idx 37KB
stl_list.h.4F732471E14F1E13.idx 37KB
qvectornd.h.20C1D330D32C96F1.idx 37KB
atomic.3D5D6F43342AFCB2.idx 37KB
functional.54F2E4FEBE22653C.idx 36KB
stl_algobase.h.1FC215A54552113D.idx 36KB
stl_function.h.7AA784877DC3C96E.idx 35KB
stdlib.h.8D1B849F925680B2.idx 34KB
qrect.h.4AB5BE0AB841678A.idx 34KB
cmath.A0A08F382EA62983.idx 33KB
qmetacontainer.h.5528E7194474E39C.idx 33KB
numeric.D1D20A2639EF01AE.idx 32KB
qabstractitemmodel.h.EAD564182200C5CE.idx 32KB
chrono.AB49B1B7797201CB.idx 32KB
qurl.h.37DA8EC48D6FB21A.idx 32KB
qobjectdefs_impl.h.50A9E7320A7E3EC2.idx 32KB
qbrush.h.D7DCC9D9DA40C041.idx 31KB
list.tcc.F065556DD02680CA.idx 30KB
stl_map.h.169186F18F6403BE.idx 29KB
locale_facets.h.1ABD778FB97800F2.idx 29KB
qdatetime.h.A26D197188C9D579.idx 29KB
unordered_map.h.11671F6AA00D664F.idx 28KB
specfun.h.504AD9D0B2270980.idx 28KB
fs_path.h.70A56D965B55DCEC.idx 28KB
tuple.2FC5ACF5359CC6D4.idx 28KB
string_view.163187C18809B48B.idx 28KB
qhashfunctions.h.27F49BFF7D3FC2E0.idx 28KB
qfloat16.h.F77B6ECFE488EE79.idx 28KB
stl_bvector.h.6D71D49D9B7DFC37.idx 27KB
istream.tcc.DF1D8104DD8B6B91.idx 27KB
共 704 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8
资源评论
王二空间
- 粉丝: 6748
- 资源: 2024
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- bdwptqmxgj11.zip
- onnxruntime-win-x86
- onnxruntime-win-x64-gpu-1.20.1.zip
- vs2019 c++20 语法规范 头文件 <ratio> 的源码阅读与注释,处理分数的存储,加减乘除,以及大小比较等运算
- 首次尝试使用 Win,DirectX C++ 中的形状渲染套件.zip
- 预乘混合模式是一种用途广泛的三合一混合模式 它已经存在很长时间了,但似乎每隔几年就会被重新发现 该项目包括使用预乘 alpha 的描述,示例和工具 .zip
- 项目描述 DirectX 引擎支持版本 9、10、11 库 Microsoft SDK 功能相机视图、照明、加载网格、动画、蒙皮、层次结构界面、动画控制器、网格容器、碰撞系统 .zip
- 项目 wiki 文档中使用的代码教程的源代码库.zip
- 面向对象的通用GUI框架.zip
- 基于Java语言的PlayerBase游戏角色设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功