用文件实现的学生成绩管理系统-课程设计大作业

上传人:h****4 文档编号:204399257 上传时间:2023-04-26 格式:DOC 页数:11 大小:1.08MB
返回 下载 相关 举报
用文件实现的学生成绩管理系统-课程设计大作业_第1页
第1页 / 共11页
用文件实现的学生成绩管理系统-课程设计大作业_第2页
第2页 / 共11页
用文件实现的学生成绩管理系统-课程设计大作业_第3页
第3页 / 共11页
点击查看更多>>
资源描述
题目: 用文件实现的学生成果管理系统(含全套完整资料)目的:学生通过本次试验编程实现一个班级学生成果的管理,使学生了解文件的主要操作(创建、读、写、增加和删除记录等)。内容和要求1、 编写一个学生成果管理的软件系统,语言不限。2、 软件中能够随时增加学生成果记录(姓名、班级、学号、课程名称、成果),这些记录存放到磁盘文件中。3、 利用磁盘文件的系统接口函数编程实现对学生成果进行管理:以各种方式查询成果、修改成果;显示全部的学生成果。4、 编写将一个班级的成果复制到另一个文件的功能。5、 学习运用文件编程,实现指定班级成果文件的删除操作。6、 能够对学生成果记录进行文件备份和还原。7、 本试验的目的是练习文件操作,因此该软件不能运用数据库存放信息,只能用一般文件存放信息。书目学生成果管理系统课程设计报告2一、需求分析21、课程设计性质和目的22、输入的形式和输入值的范围23、输出的形式;24、程序所能达到的功能;25、测试数据:2二、功能描述3三、总体设计31、功能模块设计32、其他模块代码设计(详参“程序清单”)/此处与“程序清单”Word文件有超链接功能。4四、调试分析5五、测试结果51、主界面:图5-152、录入学生信息界面:图5-253、显示统计数据界面:图5-364、查询学生成果界面:图5-465、删除学生成果界面:图5-576、插入学生成果界面:图5-677、对已有学生成果降序排列界面:图5-788、显示全部学生信息界面:图5-88六、用户运用说明9七、课程设计的总结9八、附录(源代码)10学生成果管理系统课程设计报告一、需求分析1、课程设计性质和目的该课程设计的主要任务是运用在数据结构(用面对对象方法C+语言描述)课程中学到的理论学问来指导实践,使我们了解面对对象与面对过程之间的区分,学会用所学学问解决实际问题,并且通过综合课程设计,提高大家的实践动手技能,培育我们独立分析分析问题和解决问题的实力。2、输入的形式和输入值的范围本系统是一个学生成果管理系统,采纳VC+6.0 编译器作为开发环境,这个环境是我们在学习C+的平台。输入数据类型主要是char、int、float等数据类型,输入内容包括:班级、学号、姓名、数据结构、C+ 程序设计、多媒体技术、高校英语、高等数学、高校体育、马克思主义政治经济学等数据。用户在输入学生数据时要保证输入数据格式的正确性,系统不会自动检测输入的数据是否正确,可用。详细要求(输入学生学号、班级姓名和课程成果等的时候要依据其相应的数据类型进行输入,如:表1-1)。表1-1数据类型班级Char例如:(08信管1班)学号IntNOT NULL课程名称Char课程成果Float(0=Score=100)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); /*查找学生成果*/coutttt;system(pause);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); /*显示全部学生成果*/coutttt;system(pause);break;case 0:coutendl =nendl; /*结束程序*/coutttt;system(pause);exit(0);2、其他模块代码设计(详参“程序清单”)/此处与“程序清单”Word文件有超链接功能。每个函数的详细功能:1)主函数main():定义学生结构体数组,调用录入、统计等函数对成果表进行处理;2)录入函数Input():输入班级到政治课成果;3)统计函数Statistic():计算平均成果;4)查询函数Lookup():查询指定学号学生成果记录;5)修改函数Modify():修改指定学号学生成果记录;6)删除函数Delete():删除指定学号学生记录;7)插入函数Insert():按平均分依次插入新记录。8) 排序函数Sort():按平均分对学生成果记录项进行降序排序;9)输出函数Output():输出班级全部学生成果记录;四、调试分析内容主要包括:在调试过程中我我们对遇到的问题是如何解决的以及对设计与实现的回顾探讨和分析。1、由于在学C+这么语言的时候,对文件的写入与读出不是很精通,在刚起先时候对文件的操作不太明白,一样不能很好的操作文件,其中最大的问题是对已存在的文件读取问题,通过“显示全部学生成果” 将数据从文件中读取,可是在运用过程中总是出现读出错误,出现乱码。2、内存的安排问题,这也是困惑了我好久的问题。对于我们初学者来说对内存的安排和释放问题是比较抽象和模糊的难题,原来运用链表的方式存储数据,然而待到排序时出现了交换数据困难的问题,以及安排空间繁琐释放空间不刚好的问题,造成空间奢侈使得程序运行效率低的问题。因此最终采纳了依次存储记录的方式,这样就能变更前述问题。整个调试过程中主要是这么几个问题,其余的是一些小问题,很简单的就调试出来了。五、测试结果1、主界面:图5-12、录入学生信息界面:图5-23、显示统计数据界面:图5-34、查询学生成果界面:图5-45、删除学生成果界面:图5-5鉴于录入的数据比较少,就不做删除测试了!6、插入学生成果界面:图5-67、对已有学生成果降序排列界面:图5-78、显示全部学生信息界面:图5-8六、用户运用说明用户运行程序后进入系统主界面,在主界面用户可以打开或者新建数据文件。用户新建或者打开文件要符合操作系统的要求,假如用户打开不存在的文件,那么系统将依据用户打开的文件名作为新的数据文件名,并对其进行相关操作。本系统同时只能对一个数据文件进行相关操作,不能同时打开多个数据文件,其类似于单用户操作系统。当用户指定当前文件后可对其进行显示,插入,删除,修改,计算平均分等相关功能。用户在操作过程中可随时对当前文件进行保存到文件操作,以防止修改的数据丢失。操作完当前文件后,用户可以关闭该文件,在不退出本系统的前提下另行打开或者新建数据文件对其进行相关操作。七、课程设计的总结这次的课程设计,虽然在调试程序时候有些疲惫和困倦,但带给我们每个人很多的收获。C+在大二的时候已经学了一个学期了,现在又学数据结构,仍有很多学问都存在似懂非懂的现象,这种现象通过实际的上机操作,已经削减了很多。对这些学问也有了更深的理解和很好的驾驭。也有很多理论上说得过去的代码,但到了实际操作,却是行不通的。这种困惑,有很多已经通过实际操作解决了,并能够深刻相识,但也有很多没有明白。只能避过这些方法,换方法实现。在课程设计之前,因为有了综合试验的阅历与教训,明白了写代码这一步是特别重要的,因为当把代码输入电脑,并用编译器将其运行,发觉通过不了,再来检查找出问题,这是一件特别辛苦的事情,也很奢侈时间。于是在课程设计的时候,我们先是花了好几每天的时间来把代码先弄好了,才输入电脑进行操作。觉得写程序,应当先找到该程序中的核心地方,用多种方法来实现该核心,这才可能避开等到发觉逻辑上或者编译器不支持上的错误,才来想补救的措施,这样花费时间在想补救措施是很不值得的。此次任务的完成,也体现出同学之间的团结精神。实践是检验真理的唯一标准。没有实践,就不会发觉和深刻体会它的真实所在。只有通过检验的真理,在自己的心里,才会认可它的真实性。面对对象程序设计的完成,使我们懂得了真理的重要性,理论和实际的相结合,才能真正把握所学和所驾驭的学问。八、附录(源代码)详见程序清单
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!