ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:984.39KB ,
资源ID:7329327      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7329327.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(用文件实现的学生成绩管理系统 含源文件.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

用文件实现的学生成绩管理系统 含源文件.docx

1、用文件实现的学生成绩管理系统 含源文件用文件实现的学生成绩管理系统课程设计-大作业(含源文件)目的:学生通过本次实验编程实现一个班级学生成绩的管理,使学生了解文件的主要操作(创建、读、写、增加和删除记录等)。内容和要求1、 编写一个学生成绩管理的软件系统,语言不限。2、 软件中能够随时增加学生成绩记录(姓名、班级、学号、课程名称、成绩),这些记录存放到磁盘文件中。3、 利用磁盘文件的系统接口函数编程实现对学生成绩进行管理:以各种方式查询成绩、修改成绩;显示所有的学生成绩。4、 编写将一个班级的成绩复制到另一个文件的功能。5、 学习使用文件编程,实现指定班级成绩文件的删除操作。6、 能够对学生成

2、绩记录进行文件备份和还原。7、 本实验的目的是练习文件操作,因此该软件不能使用数据库存放信息,只能用普通文件存放信息。目录学生成绩管理系统课程设计报告 2一、需求分析 21、课程设计性质和目的 22、输入的形式和输入值的范围 23、输出的形式; 24、程序所能达到的功能; 25、测试数据: 2二、功能描述 3三、总体设计 31、功能模块设计 32、其他模块代码设计(详参“程序清单”)/此处与“程序清单”Word文件有超链接功能。 4四、调试分析 5五、测试结果 51、主界面:图5-1 52、录入学生信息界面:图5-2 53、显示统计数据界面:图5-3 64、查询学生成绩界面:图5-4 65、删

3、除学生成绩界面:图5-5 76、插入学生成绩界面:图5-6 77、对已有学生成绩降序排列界面:图5-7 88、显示全部学生信息界面:图5-8 8六、用户使用说明 9七、课程设计的总结 9八、附录(源代码) 10学生成绩管理系统课程设计报告一、需求分析1、课程设计性质和目的该课程设计的主要任务是运用在数据结构(用面向对象方法C+语言描述)课程中学到的理论知识来指导实践,使我们了解面向对象与面向过程之间的区别,学会用所学知识解决实际问题,并且通过综合课程设计,提高大家的实践动手技能,培养我们独立分析分析问题和解决问题的能力。2、输入的形式和输入值的范围本系统是一个学生成绩管理系统,采用VC+6.0

4、 编译器作为开发环境,这个环境是我们在学习C+的平台。输入数据类型主要是char、int、float等数据类型,输入内容包括:班级、学号、姓名、数据结构、C+ 程序设计、多媒体技术、大学英语、高等数学、大学体育、马克思主义政治经济学等数据。用户在输入学生数据时要保证输入数据格式的正确性,系统不会自动检测输入的数据是否正确,可用。具体要求(输入学生学号、班级姓名和课程成绩等的时候要按照其相应的数据类型进行输入,如:表1-1)。表1-1数据类型班级Char例如:(08信管1班)学号IntNOT NULL课程名称Char课程成绩Float(0=Score=100)3、输出的形式;输出形式与输入形式类

5、似,根据需要可以选择显示输入的各项内容,还可以选择显示计算好平均分后并排序后的记录,显示内容包括:班级、学号、姓名、平均分等数据。4、程序所能达到的功能;用户运行程序后进入系统主界面,在主界面用户可以输入所有学生的数据并保存到文件中,也可以读取文件中已有的学生数据。用户在保存数据的时候,如果保存位置没有文件则自动新建一个文件进行保存。本系统同时只能对一个数据文件进行相关操作,不能同时打开多个数据文件,其类似于单用户操作系统。当用户读取学生数据后可对其进行显示,插入,删除,修改,排序,计算平均分等相关操作。用户在操作过程中可随时对当前文件进行保存到文件操作,以防止修改的数据丢失。5、测试数据:

6、经过多次测试程序运行稳定,无致命错误。根据本次课程设计的要求对数据进行输入并分析数据输出结果。通过测试发现当用户正确输入时系统能够正确显示用户的输入,当用户输入错误时,系统并不会出现致命错误但其将显示非用户期望的数据。二、功能描述此成绩管理系统主要利用单链表实现,由如下功能模块实现:1、录入模块。主要完成将学生记录存入单链表的工作。2、显示统计数据模块。主要完成对自己所需的数据在链表内进行查询后的统计结果.3、查询模块。主要完成对已有学生的学号、姓名等数据进行查询4、修改模块。主要完成对已有学生的成绩或者其他信息,由于录入错误或者其他错误进行修改。5、删除模块。主要用来删除不在需要的学生信息。

7、6、插入模块。主要是对漏录或者其他原因的学生信息,重新做一次录入信息。7、学生成绩排序模块。用于对已有的学生信息,按照其成绩的高低对其排序。8、显示学生成绩模块。是用来显示所有存在学生的全部成绩。三、总体设计1、功能模块设计void main() /*主函数*/ for(;) switch(menu() /*选择判断*/ case 1: Input(stud);/*输入学生成绩*/ break; case 2: Statistic(stud); /*输出学生统计数据*/ break; case 3: Lookup(stud); /*查找学生成绩*/ coutttt; system(pause)

8、; break; case 4: Modify(stud); /*修改学生成绩*/ coutttt; system(pause); break; case 5: Delete(stud); /*按学号查找,删除学生信息*/ coutttt; system(pause); break; case 6: Insert(stud);/*增加学生成绩*/ coutttt; system(pause); break; case 7: Sort(stud); /*按平均分对成绩记录项进行降序排序*/ coutttt; system(pause); break; case 8: Output(stud);

9、/*显示全部学生成绩*/ coutttt; system(pause); break; case 0: coutendl =nendl; /*结束程序*/ coutdata和p-next来标识,p-next指向结点ai+1,其指针与结点之间关系如图2.2所示。图2.2指针与结点之间关系的示意图2.3系统性能分析1硬件环境处理器:CPU主频在500MHz以上 内存:128MB以上硬盘空间:10MB。2软件环境操作系统: Windows 98/Me/NT/2000/XP(推荐使用Windows 2000/XP)。调试环境: Visual C+及以上版本。3总体结构设计3.1系统的结构设计通过对学生

10、成绩信息管理系统的功能分析,可以定义出系统的总体结构模块图,如图3.1所示。图3.1学生成绩管理系统总体结构设计3.2系统管理流程图 前面的分析中已经定义了系统各个模块,属于静态建模的范围。在系统运行时刻的动态模型应该由系统的流程决定。当用户运行该系统后可以来进行学生成绩信息插入管理、学生成绩信息查询管理、学生成绩信息删除管理、学生成绩信息修改管理及学生成绩信息输出等操作,具体的流程如图3.2所示。图3.2系统流程图主模块应负责应用程序的主界面,由它调用其他模块.因此主模块应具有操作性好、界面清晰的特点,使用户能够很方便地找到所需功能。根据功能需求的结果分析,主界面应该由学生成绩信息插入管理,

11、学生成绩信息查询管理、学生成绩信息修改管理、学生成绩信息删除管理和学生成绩信息输出管理组成,可以通过输入相应的数字进入相应的功能模块。4 系统详细设计和系统实现系统总体设计完成后,就可以根据需求对各个模块来进行实现了。在本系统中需要编码实现的主要有学生成绩信息插入、学生成绩信息查询、学生成绩信息修改、学生成绩信息删除和学生成绩信息输出等5个模块。(1)学生成绩插入模块添加的信息包括学号(不允许重复)、姓名(不允许重复)、语文成绩、数学成绩和英语成绩。流程图如下图4.1所示。图4.1插入模块流程图本程序采用的是尾插法,就是每次将新申请的结点插在终端结点的后面,其执行过程如图4.2所示。图4.2尾

12、插法建立单链表操作示意图(2)学生成绩查询模块按姓名和学号查找学生成绩的流程图分别如下图4.3所示。图4.3按姓名查找学生成绩信息流程图在单链表中,即使知道被访问结点的位置i,也不能像顺序表那样直接按序号访问,而只能从头指针出发,设置一个工作指针p,顺next域逐个结点往下搜索。当p指向某个结点时判断是否为第i个结点,若是则查找成功;否则,将工作指针p后移,即将p指向原来所指结点的后继结点。直到p为NULL时查找失败。单链表查找过程如图4.4所示。图4.4单链表查找过程的示意图按学号查询学生成绩信息同按姓名查找学生成绩信息,此处不再详细列出。(3)学生成绩修改模块首先要查找与要修改数据相匹配的

13、信息,若没有则返回失败。否则把相应的信息输出,然后再重新输入新的数据并保存到单链表。(4)学生成绩删除模块当选择删除功能时,首先输入要删除的同学的姓名,然后输入要删除的同学的学号,如果该同学存在并且姓名与学号匹配的上,则进行删除操作,否则返回失败。其流程图4.5如下:图4.5删除学生信息模块流程图删除操作定义为将单链表的第i个结点删去。因为在单链表中结点ai存储地址在其前驱结点ai-1的指针域,所以必须首先找到ai-1的存储地址p,然后令p的next域指向ai 的后继结点,即把结点ai 从链上摘下来,最后释放结点ai的存储空间,如图4.6所示。 图4.6在单链表中删除结点指针的变化情况(5)学生成绩输出模块从单链表表头遍历整个单链表,将所有数据输出。其部分代码如下: void Function:Show() char choose; Student *temp; system(cls); temp=Student_First-Next; if(!temp) cout文件无数据nn endl; cout1.返回主菜单choose; while(choose!=1) cout1.返回主菜单choose; Menu(); else coutOut(); temp=temp-Next; cout1.返回主菜单choose; while(choose

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1