学生信息管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生信息管理系统 Company number:【WTUT-WT88Y-W8BBGB-BWYTT-19998】
《高级语言程序设计》课程设计报告
学生信息管理系统的设计与实现学号:
姓名:彭方林
专业班级:计算机科学与技术1401 日期: 2015年11月11日
信息科学与工程系
目录
1、课程设计目的 (2)
2、课程设计内容 (2)
3、学生信息管理系统的实现 (8)
4、系统测试及系统运行效果 (9)
5、系统设计遇到的问题及解决方案 (13)
6、总结与收获 (13)
附录源程序代码 (15)
7、课程设计成绩 (35)
1 课程设计的目的
课程设计题目
学生信息管理系统的设计与实现
课程设计目的
本课程设计是在学习C++基本理论之后的实践教学环节。该实践教学是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧。要求学生在设计中逐步提高程序设计能力,培养科学的软件工作方法。学生通过课程设计在下述各方面得到锻炼:
①.能根据实际问题的具体情况,结合C++的基本理论和基本技巧,正确分析问题,并能设计出解决问题的有效算法与程序。
②.提高程序设计和调试能力。学生通过上机实习,验证自己设计的算法和程序的正确性,学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改,进一步提高程序设计水平。
2 课程设计的内容
题目分析
设计一个学生信息管理系统,其中包括:
学生基本信息:学号、姓名、性别、成绩(语文、离散数学、英语、毛概、电路基础、概率论、体育)。因为课程设计时间为大二上学期,所以成绩采用的是这学期本专业的课表。
学生信息管理系统功能如表1-1所示,具体功能如下:
1.系统菜单显示
2.学生信息录入功能
3.学生信息浏览功能
4.查询:
①.学号查询
②.姓名查询
5.学生信息的删除与修改
6.系统中学生信息数量统计
7.学生信息排序(冒泡排序)
表1-1 程序功能
系统程序模块设计
菜单模块
绘制菜单(包含学号查询、姓名查询、添加学生信息、删除学生信息、修改学生信息、查看已存档学生信息、统计学生信息数量、学生信息排序)。
根据用户输入的值调用对应的模块函数实现该项功能
信息录入模块
{
查找系统中是否已存在该学号对应的信息
if(存在)
{提示信息已存在}
else
{向文件中写入各项信息}
信息读出模块
{
判断系统中是否存在学生信息
if(不存在)
{提示信息不存在}
else
{在屏幕上显示该学号对应的信息}
信息查询模块
{
if(学号查询)
{
判断文件是否为空
查找系统中是否有该学号信息
if(存在)
输出学生信息
else
提示学生信息不存在
if(姓名查询)
{
判断文件是否为空
查找系统中是否有该姓名对应信息
if(存在)
输出学生信息
else
提示信息不存在
创建系统文件夹模块
{
判断系统文件夹是否存在
if(不存在)
创建“D\\学生信息”文件夹
判断系统文件是否存在
if(不存在)
创建“D:\\学生信息\\学生信息.txt”文件删除学生信息模块
{
查看系统文件是否为空
if(文件为空)
提示学生信息不存在
else
查找系统中是否有该学号信息
if(存在)
删除该学生信息
else
提示该学生信息不存在
修改学生信息模块
{
查看系统中是否存在该学生信息
if(存在)
{
删除该学生信息
添加该学生新信息
}
修改成功
统计学生信息数量模块
{
if(文件存在)
读取学号,每读取到一个学号,数量+1
返回信息数量的值
}
学生信息排序模块
{
if(打开成功)
读取全部信息存到结构体数组,按照冒泡排序将信息按学号升序排序
之后将数组内容依次存入文件,并覆盖旧文件。
}
各模块之间结构图如图2-1所示
学生信息管理采用结构化程序设计思想,除主函数外共设计了8个函数,函数原型及功能说明如图2-2所示:
图 2-2 系统主要函数
程序流程图
学号查询
程序每次从文件中读取出一位学生的所有信息,将读取到的学号与用户所输入的学号进行比较。如果两个学号相同,表示已找到该学号对应的信息,显示出该学生的全部信息,查找结束。若两个学号不同,则重新读取下一位学生的信息进行比较,直到文件读取到尾部,显示未找到该学号对应的信息。
姓名查询
程序每次从文件中读取出一位学生的所有信息,将读取到的姓名与用户所输入的姓名进行比较。如果两个姓名相同,表示已找到该姓名对应的信息,显示出该学生的全部信息,查找结束。若两个姓名不同,则重新读取下一位学生的信息进行比较,直到文件读取到尾部,显示未找到该姓名对应的信息。