finished work

This commit is contained in:
Fangnan
2022-09-28 16:24:43 +08:00
commit 3a65cbab8e
27 changed files with 2085 additions and 0 deletions

137
README.md Normal file
View File

@@ -0,0 +1,137 @@
# 学生信息管理系统
## 概述
本套系统是我大一程序设计进阶课的结课作业,实现了登录、文件读写,以及对数据的查询、排序等操作。
1、单人完成代码的编写本以为几百行能解决的系统前前后后写了两千多行虽然很多是注释...
2、本套系统基于Windows系统执行C11标准。
3、项目使用Clion集成环境开发。
4、项目模块化将不同功能写在不同的源文件中通过头文件集中管理和调用。
5、用户输入检测只允许用户输入规则内的数据不合法的数据一律提示重新输入。
**相关文件的解释:**
| 文件 | 解释 |
| ----------------------------------------- | -------------------------------------------- |
| for_main.h | 包含主函数所需的所有头文件 |
| user.h | 定义登录用户的相关信息结构体 |
| stu_info.h | 定义用于存储学生信息的结构体 |
| for_function_module.h | 包含每个模块函数所需的头文件以及主函数的声明 |
| main.c | 主函数 |
| main_menu.h & main_menu.c | 主菜单模块 |
| secondary_menu.h & secondary_menu.c | 二级菜单模块 |
| login_module.h & login_module.c | 登录模块 |
| registered_module.h & registered_module.c | 用户注册模块 |
| add_module.h & add_module.c | 学生信息添加模块 |
| query_module.h & query_module.c | 学生信息查询模块 |
| modify_module.h & modify.c | 学生信息修改模块 |
| delete_module.h & delete_module.c | 学生信息删除模块 |
| statistic_module.h & statistic_module.c | 成绩统计模块 |
## 系统结构
- 主菜单
- 二级菜单
- 登录模块
- 注册模块
- 学生信息添加模块
- 学生信息查询模块
- 学生信息修改模块
- 学生信息删除模块
- 成绩统计
## 功能详解
### 一、主菜单
本系统设置有权限,只有注册账号后输入正确的账号密码才能进入。
主菜单设置有输入内容的控制功能,即检测输入内容是否合法:
![](https://yvling-blog-image-1257337367.cos.ap-shanghai.myqcloud.com/%E5%8D%9A%E5%AE%A2/%E5%AD%A6%E7%94%9F%E4%BF%A1%E6%81%AF%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F/2022-04-23/%E4%B8%BB%E8%8F%9C%E5%8D%951.png)
### 二、登录模块
![](https://yvling-blog-image-1257337367.cos.ap-shanghai.myqcloud.com/%E5%8D%9A%E5%AE%A2/%E5%AD%A6%E7%94%9F%E4%BF%A1%E6%81%AF%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F/2022-04-23/%E7%99%BB%E5%BD%95%E6%A8%A1%E5%9D%97.png)
输入正确的账号密码即可进入系统。
### 三、二级菜单
![](https://yvling-blog-image-1257337367.cos.ap-shanghai.myqcloud.com/%E5%8D%9A%E5%AE%A2/%E5%AD%A6%E7%94%9F%E4%BF%A1%E6%81%AF%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F/2022-04-23/%E4%BA%8C%E7%BA%A7%E8%8F%9C%E5%8D%95.png)
二级菜单中提供5个功能输入代码即可跳转至对应功能。
二级菜单设置有输入内容的控制功能,即检测输入内容是否合法:
![](https://yvling-blog-image-1257337367.cos.ap-shanghai.myqcloud.com/%E5%8D%9A%E5%AE%A2/%E5%AD%A6%E7%94%9F%E4%BF%A1%E6%81%AF%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F/2022-04-23/%E4%BA%8C%E7%BA%A7%E8%8F%9C%E5%8D%95%E6%A3%80%E6%B5%8B%E8%BE%93%E5%85%A5.png)
### 四、学生信息添加模块
![](https://yvling-blog-image-1257337367.cos.ap-shanghai.myqcloud.com/%E5%8D%9A%E5%AE%A2/%E5%AD%A6%E7%94%9F%E4%BF%A1%E6%81%AF%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F/2022-04-23/%E5%AD%A6%E7%94%9F%E4%BF%A1%E6%81%AF%E6%B7%BB%E5%8A%A0%E6%A8%A1%E5%9D%97.png)
在此模块中,需依次输入学生的学号、姓名、性别、年龄、语文成绩、数学成绩、英语成绩。
输入结束后学生信息被保存在stu_info目录下的stu_info.txt文件中
![](https://yvling-blog-image-1257337367.cos.ap-shanghai.myqcloud.com/%E5%8D%9A%E5%AE%A2/%E5%AD%A6%E7%94%9F%E4%BF%A1%E6%81%AF%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F/2022-04-23/%E5%AD%A6%E7%94%9F%E4%BF%A1%E6%81%AF%E4%BF%9D%E5%AD%98.png)
输入结束后,提示是否继续添加,选择”是“则当前界面清除,进入下一轮的输入,否则返回二级菜单。
本模块同样设置有输入内容检测功能,非法输入无效。
### 五、学生信息查询模块
![](https://yvling-blog-image-1257337367.cos.ap-shanghai.myqcloud.com/%E5%8D%9A%E5%AE%A2/%E5%AD%A6%E7%94%9F%E4%BF%A1%E6%81%AF%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F/2022-04-23/%E5%AD%A6%E7%94%9F%E4%BF%A1%E6%81%AF%E6%9F%A5%E8%AF%A2%E6%A8%A1%E5%9D%97.png)
本系统支持按学号、姓名和性别查询学生信息,输入要查询的学生的学号、姓名或性别均可查询。
![](https://yvling-blog-image-1257337367.cos.ap-shanghai.myqcloud.com/%E5%8D%9A%E5%AE%A2/%E5%AD%A6%E7%94%9F%E4%BF%A1%E6%81%AF%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F/2022-04-23/%E5%AD%A6%E7%94%9F%E4%BF%A1%E6%81%AF%E6%9F%A5%E8%AF%A21.png)
![](https://yvling-blog-image-1257337367.cos.ap-shanghai.myqcloud.com/%E5%8D%9A%E5%AE%A2/%E5%AD%A6%E7%94%9F%E4%BF%A1%E6%81%AF%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F/2022-04-23/%E5%AD%A6%E7%94%9F%E4%BF%A1%E6%81%AF%E6%9F%A5%E8%AF%A22.png)
若系统中没有要查询的学生信息,则提示:
![](https://yvling-blog-image-1257337367.cos.ap-shanghai.myqcloud.com/%E5%8D%9A%E5%AE%A2/%E5%AD%A6%E7%94%9F%E4%BF%A1%E6%81%AF%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F/2022-04-23/%E5%AD%A6%E7%94%9F%E4%BF%A1%E6%81%AF%E6%9F%A5%E8%AF%A23.png)
### 六、学生信息修改模块
![](https://yvling-blog-image-1257337367.cos.ap-shanghai.myqcloud.com/%E5%8D%9A%E5%AE%A2/%E5%AD%A6%E7%94%9F%E4%BF%A1%E6%81%AF%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F/2022-04-23/%E5%AD%A6%E7%94%9F%E4%BF%A1%E6%81%AF%E4%BF%AE%E6%94%B9%E6%A8%A1%E5%9D%97.png)
本系统支持按学号、姓名查询学生信息并修改。
![](https://yvling-blog-image-1257337367.cos.ap-shanghai.myqcloud.com/%E5%8D%9A%E5%AE%A2/%E5%AD%A6%E7%94%9F%E4%BF%A1%E6%81%AF%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F/2022-04-23/%E5%AD%A6%E7%94%9F%E4%BF%A1%E6%81%AF%E4%BF%AE%E6%94%B91.png)
依次输入修改后的学生学号、姓名、性别、年龄及各科成绩即可。
### 七、学生信息删除模块
![](https://yvling-blog-image-1257337367.cos.ap-shanghai.myqcloud.com/%E5%8D%9A%E5%AE%A2/%E5%AD%A6%E7%94%9F%E4%BF%A1%E6%81%AF%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F/2022-04-23/%E5%AD%A6%E7%94%9F%E4%BF%A1%E6%81%AF%E5%88%A0%E9%99%A4%E6%A8%A1%E5%9D%97.png)
本系统支持按学号、姓名和性别删除学生信息,输入学生的学号、姓名或性别均可删除相关信息。
![](https://yvling-blog-image-1257337367.cos.ap-shanghai.myqcloud.com/%E5%8D%9A%E5%AE%A2/%E5%AD%A6%E7%94%9F%E4%BF%A1%E6%81%AF%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F/2022-04-23/%E5%AD%A6%E7%94%9F%E4%BF%A1%E6%81%AF%E5%88%A0%E9%99%A41.png)
### 八、成绩统计模块
本系统支持对单科成绩的查询,包括升序、降序查询和分数段查询,同时显示该科目的平均分。
![](https://yvling-blog-image-1257337367.cos.ap-shanghai.myqcloud.com/%E5%8D%9A%E5%AE%A2/%E5%AD%A6%E7%94%9F%E4%BF%A1%E6%81%AF%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F/2022-04-23/%E6%88%90%E7%BB%A9%E7%BB%9F%E8%AE%A1%E6%A8%A1%E5%9D%97.png)
按语文成绩升序查询:
![](https://yvling-blog-image-1257337367.cos.ap-shanghai.myqcloud.com/%E5%8D%9A%E5%AE%A2/%E5%AD%A6%E7%94%9F%E4%BF%A1%E6%81%AF%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F/2022-04-23/%E6%88%90%E7%BB%A9%E7%BB%9F%E8%AE%A12.png)
按数学成绩降序查询:
![](https://yvling-blog-image-1257337367.cos.ap-shanghai.myqcloud.com/%E5%8D%9A%E5%AE%A2/%E5%AD%A6%E7%94%9F%E4%BF%A1%E6%81%AF%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F/2022-04-23/%E6%88%90%E7%BB%A9%E7%BB%9F%E8%AE%A13.png)