“程序设计基础(C 语言)课程设计”报告
题目: 学生成绩管理系统
班级: 计算机 1808 班
组长: 学号:
20184444
姓名:
刘添夷
组员: 学号:
20184539
姓名:
刘荣江
2019 年 3 月
目 录
1. 概述 ............................................................................................................................................. 1
1.1 问题描述............................................................................................................................. 1
1.2 基本要求............................................................................................................................ 1
1.3 人员及工作量占比 ............................................................................................................. 1
2. 需求分析...................................................................................................................................... 2
2.1 目标与功能 ........................................................................................................................ 2
2.2 数据来源............................................................................................................................ 2
2.3 输出 ................................................................................................................................... 2
2.4 测试数据............................................................................................................................. 2
3. 总体设计...................................................................................................................................... 3
3.1 总体功能模块 .................................................................................................................... 3
3.2 总体数据结构 .................................................................................................................... 3
3.3 成员分工............................................................................................................................ 3
4. 详细设计...................................................................................................................................... 4
4.1 成员 1 详细设计 ................................................................................................................ 4
4.1.1 算法流程设计 ......................................................................................................... 4
4.1.2 代表性数据结构 ..................................................................................................... 5
4.2 成员 2 详细设计 ................................................................................................................ 5
4.2.1 算法流程设计 ......................................................................................................... 5
4.2.2 代表性数据结构 ..................................................................................................... 6
5. 调试分析...................................................................................................................................... 8
5.1 成员 1 调试分析 ................................................................................................................ 8
5.1.1 问题及解决方法 ..................................................................................................... 8
5.1.2 讨论和分析 ............................................................................................................. 8
5.1.3 经验与体会 ............................................................................................................. 9
5.2 成员 2 调试分析 .............................................................................................................. 10
5.2.1 问题及解决方法 ................................................................................................... 10
5.2.2 讨论和分析 ........................................................................................................... 10
5.2.3 经验与体会 ........................................................................................................... 10
6. 结果展示.................................................................................................................................... 10
7. 总结与体会................................................................................................................................ 11
7.1 成员 1 总结与体会 .......................................................................................................... 15
7.2 成员 2 总结与体会 .......................................................................................................... 15
1
1. 概述
1.1 问题描述
制作一个学生成绩管理系统
1.2 基本要求
·数据维护(数据初始化、录入、添加、修改、删除)
·数据查询(可按学号、姓名、性别、民族、年龄、地址、各门课程成绩等进行查询,也
可组合查询)
·排序、统计、输出
·系统维护(数据备份、数据恢复、口令维护)
·帮助、退出等
本次程序的目标平台是 Windows,需要掌握基本的链表、向量等数据结构和排序算法,并
且对大量数据的存储方式与存储结构有一定了解;为设计一个 Windows 窗体应用程序,也要求
对 Windows API 和消息循环体系有一定了解。
1.3 人员及工作量占比
队长刘添夷,队员刘荣江。工作量主要为队长承担,大约占整个项目的 60%到 70%。
2
2. 需求分析
2.1 目标与功能
【目标】
完成一个基本的学生成绩管理系统,可以辅助教务处老师进行学生信息、成绩的管理工作,支
持一些特殊需求(批量录入成绩等),使用友好的图形界面,并有密码保护功能。
【功能】
·根据关键字查询成绩条目或学生信息,支持多关键词和不完整关键词匹配
(模糊搜索)
·初始化班级和新增学生信息,完成表结构初始化,为快速录入做准备
·录入、修改成绩,可以只对一个学生操作,也可以对一个班级/学科批量操作
·导出数据,将所有数据导出至文本文件备份
·口令维护,修改进入密码
2.2 数据来源
外部数据由管理员手动录入,输入时有提示伴随
本地有一个数据文件和一个密码文件作为数据存储
程序启动时会把数据加载到内存,在完成对数据的修改后即时写入文件
2.3 输出
图形界面用于密码核对与功能选择,其他功能由命令行窗口与用户交互
“导出数据”功能可以把数据导出至文件
2.4 测试数据
在密码输入(错误会提示重新输入)、密码修改(两次输入密码不同会提示重输)、
功能菜单选择等方面具有对非法输入的处理特性,不会产生异常。
3
3. 总体设计
3.1 总体功能模块
(此处为 SmartArt 图表)
3.2 总体数据结构
·用于存储学生信息的结构体及其链表结构
·用于存储成绩信息的结构体及其链表结构
·另外还有一个单项插入的简单输出缓存队列 用于缓存筛选/排序后的条目指针
3.3 成员分工
队长刘添夷:
MainWindow.c 中的部分内容 Encrypotor.c
FastIO.c QueueControl.c
队员刘荣江:
MainWindow.c 中部分关于绘制内容 BackupIO.c
Sorting.c
MainWindow
交互控制器
Structure
公用
结构体
BackupIO
数据备份
acllib
图形界面
Sorting
排序算法
FastIO
文件读写
QueueCtrl
队列控制
FastIO
文件读写