# 歌手大赛成绩管理系统
## 项目信息
* 项目成员:欧阳鹏、周旭、魏文杰、黄文章
* 来源学校:豫章师范学院
* 项目介绍:歌手大赛成绩管理系统,多功能成绩管理工具,支持包含成绩录入、查询、排行、导出等在内的多个功能,轻松高效分析处理成绩数据
* 开发时间:2021年12月8日
* 开发语言:C语言
* 文档版本:1.3
## Bug修复
* 修复导出成绩单和修改管理员账号密码界面标题错误(12.13)
* 当后台学生数据文件为空时,输出排行提示为空,修复未设置回到菜单(12.14)
* 新增system("pause")功能,优化了用户的交互体验(12.14)
## 程序运行流程
* **管理员登录**
+ **选择或新建比赛项目**
- 学生成绩录入
- 学生成绩查询
- 学生成绩排行
- 导出成绩单(HTML)
- 修改管理员账号密码
- 退出程序
## 功能实现
* **管理员登录**
+ 在 `userData/admin.txt` 中**单行**保存**账号**和**密码**,空格分隔,示例:`admin 12345678`
+ 登录时输入账号和密码,验证通过即可继续操作
* **选择或新建比赛项目**
+ 先判断项目索引文件是否为空,为空则直接进入新建项目模块
+ 不为空时,输出比赛列表,按编号进入对应比赛或新建比赛,弹出菜单
+ 每注册一场比赛,向后台 `userData/workList.txt` 追加比赛编号和名称,每行1条数据,**单行**保存**比赛编号**和**名称**,空格分隔,示例:`第一届歌手大赛总决赛12345`
+ 如用户输入**add**关键字,则进入新建项目模块
* **学生成绩录入**
+ 进入成绩录入状态,可连续输入,每行输入一名学生的成绩和信息
+ 打开文件,每次回车完成一次输入后,计算出最终成绩,将当行数据写入文件
+ 当输入off时,退出录入状态,关闭文件,弹出菜单
+ 输入格式:`long 学号, int 评委数量(小于10), char [10] 姓名, float 评委成绩1, float 评委成绩2 ... float 评委成绩10`
* **学生成绩查询**
+ 输入待查询的学生姓名,读取后台TXT数据,按行遍历文本数据,每次遍历,解析当行学生数据信息,将当行姓名与查询条件进行比较,若匹配成功,则输出当行数据
+ 结束遍历,弹出菜单
* **学生成绩排行**
+ 读取后台TXT数据,按行遍历文本数据,每次遍历,将当行数据解析后保存到结构体数组中,遍历完成后,以结构体的总分项数值为基准,进行冒泡排序,在数组项交换时,中转项应为单个结构体
+ 排序完成后,对结构体数组进行遍历输出,每行一条数据
+ 结尾输出最高分学生成绩信息,弹出菜单
* **导出成绩单**
+ 与成绩排行一样,先进行结构体数组的排序,只不过遍历输出时,输出HTML表格代码,并且将打印信息同时输出至文件中
+ 输出导出文件的路径,弹出菜单
* **修改管理员账号密码**
+ 打开后台文件,获取用户输入,重新写入文件
## 项目文件结构
* **outFile/** -- 成绩单导出
* **projectData/** -- 项目数据文件
* **userData/** -- 用户配置文件
+ **admin.txt** -- 账号密码文件
+ **workList.txt** -- 项目索引文件
* **main.c** -- 程序文件
## 流程图
![](https://sssoyp.coding.net/p/website-items/d/images/git/raw/master/12.13/%E6%AD%8C%E6%89%8B%E5%A4%A7%E8%B5%9B%E6%88%90%E7%BB%A9%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F%E5%BC%80%E5%8F%91%E6%96%B9%E6%A1%88.png)
## 程序运行详细情况
### 启动程序,输入管理员账号密码,回车登录
![](https://sssoyp.coding.net/p/website-items/d/images/git/raw/master/12.13/%E7%AE%A1%E7%90%86%E5%91%98%E7%99%BB%E5%BD%95.png?download=true)
### 若存在历史项目数据,则提示选择项目或新建项目
![](https://sssoyp.coding.net/p/website-items/d/images/git/raw/master/12.13/%E9%80%89%E6%8B%A9%E6%88%96%E6%96%B0%E5%BB%BA%E9%A1%B9%E7%9B%AE.png?download=true)
### 若程序在后台没有发现历史项目数据,故直接进入新建项目模块,输入项目标题进行创建项目
![](https://sssoyp.coding.net/p/website-items/d/images/git/raw/master/12.13/%E6%96%B0%E5%BB%BA%E9%A1%B9%E7%9B%AE.png?download=true)
### 回车进入项目,弹出菜单面板,输入对应序号执行相应操作
![](https://sssoyp.coding.net/p/website-items/d/images/git/raw/master/12.13/%E8%8F%9C%E5%8D%95.png?download=true)
### 学生成绩录入,输入off结束输入
![](https://sssoyp.coding.net/p/website-items/d/images/git/raw/master/12.13/%E5%AD%A6%E7%94%9F%E6%88%90%E7%BB%A9%E5%BD%95%E5%85%A5.png?download=true)
### 学生成绩查询,输入学生姓名,回车查询
![](https://sssoyp.coding.net/p/website-items/d/images/git/raw/master/12.13/%E5%AD%A6%E7%94%9F%E6%88%90%E7%BB%A9%E6%9F%A5%E8%AF%A2.png?download=true)
![](https://sssoyp.coding.net/p/website-items/d/images/git/raw/master/12.13/%E6%9F%A5%E8%AF%A2%E7%BB%93%E6%9E%9C.png?download=true)
### 输出排行榜
![](https://sssoyp.coding.net/p/website-items/d/images/git/raw/master/12.13/%E6%88%90%E7%BB%A9%E6%8E%92%E8%A1%8C.png?download=true)
### 导出成绩单,输出HTML文件路径
![](https://sssoyp.coding.net/p/website-items/d/images/git/raw/master/12.13/%E5%AF%BC%E5%87%BA%E6%88%90%E7%BB%A9%E5%8D%95.jpg?download=true)
### 输出HTML代码文件
![](https://sssoyp.coding.net/p/website-items/d/images/git/raw/master/12.13/%E8%BE%93%E5%87%BAHTML%E6%96%87%E4%BB%B6.png?download=true)
### 成绩单显示效果
![](https://sssoyp.coding.net/p/website-items/d/images/git/raw/master/12.13/%E6%88%90%E7%BB%A9%E5%8D%95%E6%98%BE%E7%A4%BA%E6%95%88%E6%9E%9C.png?download=true)
### 修改管理员账号密码,回车
![](https://sssoyp.coding.net/p/website-items/d/images/git/raw/master/12.13/%E4%BF%AE%E6%94%B9%E7%AE%A1%E7%90%86%E5%91%98%E8%B4%A6%E5%8F%B7%E5%AF%86%E7%A0%81.jpg?download=true)
程序员柳
- 粉丝: 8373
- 资源: 1469
最新资源
- 电池超级电容混合储能系统能量管理超级电容matlab simulink储能模型仿真,能量管理蓄电池充放电模型 相关参考
- Java毕设项目:基于spring+mybatis+maven+mysql实现的生活缴费管理系统【含源码+数据库+任务书+毕业论文】
- COMSOL气体放电仿真模型(流注放电),正极性棒-板电极模型,模拟空气中流注发展过程,等离子体粒子化学反应模型,变压器励磁模型 Matlab simulink
- 上市公司内部薪酬差距数据(2000-2023年).zip
- 半桥LLC谐振变器仿真模型,采用变频控制电压闭环控制,完美跟踪给定电压,可实现软开关
- Java毕设项目:基于spring+mybatis+maven+mysql实现的网络安全宣传网站分前后台【含源码+数据库+毕业论文】
- 电力系统无穷大功率电源三相短路
- 【ansys斜拉桥模型】-apdl命令流 桥梁类型:双塔双索面斜拉桥 斜拉桥体系:半漂浮体系 主梁类型:钢-混组合梁 模型类别:杆系模型 模拟单元:beam189、link10、mass21、com
- Java毕设项目:基于spring+mybatis+maven+mysql实现的高校工会提案管理信息系统【含源码+数据库+毕业论文】
- 永磁同步电机,转速环ADRC控制仿真 自抗扰控制仿真 pmsm+adrc
- Java毕设项目:基于spring+mybatis+maven+mysql实现的大学生创新创业平台项目管理系统【含源码+数据库+毕业论文】
- chipgenius-v4.21.0701最新版的U盘精灵
- 基于springboot的公交线路查询系统设计与实现(代码+数据库+LW)
- Java毕设项目:基于spring+mybatis+maven+mysql实现的在线课程管理系统分前后台【含源码+数据库+毕业论文】
- 中国省级产业结构高级化及合理化数据测算(2000-2023年).xlsx
- 中国省级产业结构高级化及合理化数据测算(2000-2023年)线性插值.dta
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈