用文件实现的学生成绩管理系统 课程设计大作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题目: 用文件实现的学生成绩管理系统
(含全套完整资料)
目的:
学生通过本次实验编程实现一个班级学生成绩的管理,使学生了解文件的主要操作(创建、读、写、增加和删除记录等)。
内容和要求
1、编写一个学生成绩管理的软件系统,语言不限。
2、软件中能够随时增加学生成绩记录(姓名、班级、
学号、课程名称、成绩),这些记录存放到磁盘文件中。
3、利用磁盘文件的系统接口函数编程实现对学生成绩
进行管理:以各种方式查询成绩、修改成绩;显示所有的学生成绩。
4、编写将一个班级的成绩复制到另一个文件的功能。
5、学习使用文件编程,实现指定班级成绩文件的删除
操作。
6、能够对学生成绩记录进行文件备份和还原。
7、本实验的目的是练习文件操作,因此该软件不能使用数据库存放信
息,只能用普通文件存放信息。
目录
学生成绩管理系统课程设计报告 (2)
一、需求分析 (2)
1、课程设计性质和目的 (2)
2、输入的形式和输入值的范围 (2)
3、输出的形式; (2)
4、程序所能达到的功能; (2)
5、测试数据: (2)
二、功能描述 (3)
三、总体设计 (3)
1、功能模块设计 (3)
2、其他模块代码设计(详参“程序清单”)//此处与“程序清单”Word文件有超链接功
能。 (4)
四、调试分析 (5)
五、测试结果 (5)
1、主界面:图5-1 (5)
2、录入学生信息界面:图5-2 (5)
3、显示统计数据界面:图5-3 (6)
4、查询学生成绩界面:图5-4 (6)
5、删除学生成绩界面:图5-5 (7)
6、插入学生成绩界面:图5-6 (7)
7、对已有学生成绩降序排列界面:图5-7 (8)
8、显示全部学生信息界面:图5-8 (8)
六、用户使用说明 (9)
七、课程设计的总结 (9)
八、附录(源代码) (10)
学生成绩管理系统课程设计报告
一、需求分析
1、课程设计性质和目的
该课程设计的主要任务是运用在《数据结构》(用面向对象方法C++语言描述)课程中学到的理论知识来指导实践,使我们了解面向对象与面向过程之间的区别,学会用所学知识解决实际问题,并且通过综合课程设计,提高大家的实践动手技能,培养我们独立分析分析问题和解决问题的能力。
2、输入的形式和输入值的范围
本系统是一个学生成绩管理系统,采用VC++6.0 编译器作为开发环境,这个环境是我们在学习C++的平台。输入数据类型主要是char、int、float等数据类型,输入内容包括:班级、学号、姓名、数据结构、C++ 程序设计、多媒体技术、大学英语、高等数学、大学体育、马克思主义政治经济学等数据。用户在输入学生数据时要保证输入数据格式的正确性,系统不会自动检测输入的数据是否正确,可用。具体要求(输入学生学号、班级姓名和课程成绩等的时候要按照其相应的数据类型进行输入,如:表1-1)。
3、输出的形式;
输出形式与输入形式类似,根据需要可以选择显示输入的各项内容,还可以选择显示计算好平均分后并排序后的记录,显示内容包括:班级、学号、姓名、平均分等数据。
4、程序所能达到的功能;
用户运行程序后进入系统主界面,在主界面用户可以输入所有学生的数据并保存到文件中,也可以读取文件中已有的学生数据。用户在保存数据的时候,如果保存位置没有文件则自动新建一个文件进行保存。本系统同时只能对一个数据文件进行相关操作,不能同时打开多个数据文件,其类似于单用户操作系统。
当用户读取学生数据后可对其进行显示,插入,删除,修改,排序,计算平均分等相关操作。用户在操作过程中可随时对当前文件进行保存到文件操作,以防止修改的数据丢失。
5、测试数据:
经过多次测试程序运行稳定,无致命错误。根据本次课程设计的要求对数据进行输入并分析数据输出结果。通过测试发现当用户正确输入时系统能够正确显示用户的输入,当用户输入错误时,系统并不会出现致命错误但其将显示非用户期望的数据。
二、功能描述
此成绩管理系统主要利用单链表实现,由如下功能模块实现:
1、录入模块。主要完成将学生记录存入单链表的工作。
2、显示统计数据模块。主要完成对自己所需的数据在链表内进行查询后的统计结果.
3、查询模块。主要完成对已有学生的学号、姓名等数据进行查询
4、修改模块。主要完成对已有学生的成绩或者其他信息,由于录入错误或者其他错误进行修改。
5、删除模块。主要用来删除不在需要的学生信息。
6、插入模块。主要是对漏录或者其他原因的学生信息,重新做一次录入信息。
7、学生成绩排序模块。用于对已有的学生信息,按照其成绩的高低对其排序。
8、显示学生成绩模块。是用来显示所有存在学生的全部成绩。
三、总体设计
1、功能模块设计
void main() /*主函数*/
{
for(;;)
{
switch(menu()) /*选择判断*/
{
case 1:
Input(stud);/*输入学生成绩*/
break;
case 2:
Statistic(stud); /*输出学生统计数据*/
break;
case 3:
Lookup(stud); /*查找学生成绩*/
cout<<"\t\t\t";
system("pause");
break;
case 4:
Modify(stud); /*修改学生成绩*/
cout<<"\t\t\t";
system("pause");
break;
case 5:
Delete(stud); /*按学号查找,删除学生信息*/
cout<<"\t\t\t";
system("pause");
break;
case 6:
Insert(stud);/*增加学生成绩*/
cout<<"\t\t\t";
system("pause");
break;
case 7:
Sort(stud); /*按平均分对成绩记录项进行降序排序*/
cout<<"\t\t\t";
system("pause");
break;
case 8:
Output(stud); /*显示全部学生成绩*/
cout<<"\t\t\t";
system("pause");
break;
case 0:
cout< system("pause"); exit(0); } } } 2、其他模块代码设计(详参“程序清单”)//此处与“程序清单”Word文件有超 链接功能。 每个函数的具体功能: 1)主函数main():定义学生结构体数组,调用录入、统计等函数对成绩表进行处理; 2)录入函数Input():输入班级到政治课成绩; 3)统计函数Statistic():计算平均成绩; 4)查询函数Lookup():查询指定学号学生成绩记录; 5)修改函数Modify():修改指定学号学生成绩记录; 6)删除函数Delete():删除指定学号学生记录; 7)插入函数Insert():按平均分顺序插入新记录。 8) 排序函数Sort():按平均分对学生成绩记录项进行降序排序; 9)输出函数Output():输出班级所有学生成绩记录;