小型学生成绩管理系统.docxVIP

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
小型学生成绩管理系统

高级程序设计实践报告 课题名称:小型学生成绩管理系统 姓名:小戴 专业班级:电气1207 学号:0909120700 指导老师:向老师 上课时间:6.24~7.4 一. 课程设计目的 1、使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法; 2、使学生掌握软件设计的基本内容和设计方法,并培养学生进行规范化软件设计的能力; 3、使学生掌握使用各种计算机资料和有关参考资料,提高学生进行程序设计的基本能力。 二.设计要求 1、需要处理的基础数据 ?1) 学生基本信息:如班级、学号、姓名、性别、年龄、宿舍号码、电话号码等。 ?2) 学生选修课程的基本信息:课程编号、课程名称、考试成绩、平时成绩、综合成绩、学分、重修否等。 2、系统的基本功能 * 数据的录入:如录入学生的基本信息,以及该学生选修课程的基本信息; * 数据的修改:如修改指定学号、或者指定姓名的学生信息,或者修改其选修课程信息; * 数据的插入:插入某个学生信息; * 数据的查询:如按学号查询、按姓名查询等; * 数据的删除:如删除指定学号、或者指定姓名的学生及其选修课程信息; * 平均成绩的计算:计算每个学生各门功课的平均成绩,并按平均成绩从高到低的次序输出学生信息; * 列出不及格学生清单(学号、姓名、不及格的课程和成绩)。 * 考虑用文件把数据保存起来(可选)。 三. 概要设计 1.整体框架: 整个学生成绩管理系统采用链表作为基本数据结构,创建一个类student用于保存学生的数据且是链表中的一个节点。类list作为保存整个链表之用。主函数通过switch语句来根据用户的需要连接各个模块,以实现用户的需要。 2.模块基本介绍: 1). 用户输入模块 在此模块中,用户将根据菜单提示结合自己的需求输入一个0~8的值,来实现一定的功能。 2). 学生信息录入模块 此模块可以让用户从键盘输入每个学生的信息:学号、姓名、性别、各门课程的成绩。用户可插入一个或多个学生信息到当前编辑的班级数据中。用户可删除一个或多个学生信息。 3). 文件保存功能模块 用户在确定以录入的成绩无误之后,可以将学生信息以每一班为单位存为一个数据文件。用户输入的学生信息可随时保存数据文件。 4). 文件打开功能模块 用户可以用此模块将数据文件在程序中打开、编辑,程序只能对当前打开的数据文件进行编辑。 5). 查询功能模块 在此模块里,用户可实现以下操作:1.浏览所有学生信息;2.按学号查询学生信息;3.按姓名查询学生信息;4.查询一个班每个人的总成绩和平均成绩; 5.查询一个班某一门课每个人的总成绩和平均成绩;6.列出不及格清单。 6). 报表输出功能模块 在此模块中,用户可以浏览所有学生的信息,或者可以按学号输出一个班学生信息:学号、姓名、性别、各门课成绩和总成绩,到屏幕和文件。也可以按平均成绩输出从高到低输出学号、姓名信息。 3.模块图: 四.详细设计 主要功能模块的算法设计思路: 1. 用户输入模块设计 提示用户输入一个0~8的值,并存储在一个整型变量m中。 2. 学生信息录入模块设计 通过应用list中的instu()函数,来新建一个链表中的节点,即一个新的学生信息,来进行成绩的录入功能。成绩修改功能,可以根据姓名或学号进行查询并修改相应的课程的成绩,使用了void search(char s[10],int)和void search1(char s[20],int)函数进行操作。search函数根据姓名查找,search1函数根据学号进行查找。因为学号和姓名,都是存储在字符数组中的,所以都是通过字符串的比较进行查找的。然后根据整形参数进行对应的课程成绩的修改。成绩删除功能,也是可以根据姓名或学号进行删除,查询的算法和成绩修改功能的查询方法是一样的,当找到要删除的节点时,因为节点都是在堆内存中保存的,所以可以直接delete掉,并将前一个节点的next指针指向被删掉的节点的next指针所指向的节点。 3. 文件保存功能模块 先提示用户输入保存文件的文件名及班级名称。文件的前两行分别是班级名称和成绩单的开头,然后通过ofstream变量output来进行学生信息的输出,一项一项的输出,并设定格式,直到输出节点为NULL为止,之后关闭output。 4. 查询功能模块 可以根据姓名或学号进行查找,搜索方法和前几个模块相同。通过outstu1(char *n)和outstu(char *n)来进行输出。总成绩和平均成绩的查询通过函数void outsum(char *)和void outsum1(char *)来完成。通过函数scanall()来浏览所有学生的信息。通过函数think()来进行成绩的统计分

文档评论(0)

jiqinyu2015 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档