C语言程序设计课程实训报告-学生成绩管理系统

上传人:aa****6 文档编号:29212515 上传时间:2018-01-22 格式:DOCX 页数:88 大小:263.13KB
返回 下载 相关 举报
C语言程序设计课程实训报告-学生成绩管理系统_第1页
第1页 / 共88页
C语言程序设计课程实训报告-学生成绩管理系统_第2页
第2页 / 共88页
C语言程序设计课程实训报告-学生成绩管理系统_第3页
第3页 / 共88页
C语言程序设计课程实训报告-学生成绩管理系统_第4页
第4页 / 共88页
C语言程序设计课程实训报告-学生成绩管理系统_第5页
第5页 / 共88页
点击查看更多>>
资源描述

《C语言程序设计课程实训报告-学生成绩管理系统》由会员分享,可在线阅读,更多相关《C语言程序设计课程实训报告-学生成绩管理系统(88页珍藏版)》请在金锄头文库上搜索。

1、青岛科技大学 C语言课程实训报告1 / 88 C语言程序设计课程实训报告项目名称 学生成绩管理系统指导教师 学生姓名 _学生学号 _院(部) _专业_班_年 _月 _日信息科学技术学院 集成 1522016 12 11基于 C+学生成绩管理系统2 / 88目录1. 需求分析1.1课程设计性质和目的 Page31.2输入输出的形式 Page31.3程序实现的功能 Page32. 程序设计2.1概要设计 Page42.2详细设计 Page52.3使用说明 Page73. 程序测试3.1【录入学生信息】功能测试 Page73.2【统计学生数据】功能测试 Page93.3【查找学生信息】功能测试 Pa

2、ge93.4【修改学生信息】功能测试 Page103.5【删除学生信息】功能测试 Page113.6【插入学生信息】功能测试 Page113.7【学生成绩排名】功能测试 Page123.8【输出学生信息】功能测试 Page143.9【整理学生信息】功能测试 青岛科技大学 C语言课程实训报告3 / 88 Page154. 实训总结4.1实训遇到的问题 Page164.2实训心得 Page165. 参考文献 Page186. 附录 Page197. 致谢 Page871.需求分析1.1 课程设计性质和目的本课程设计主要是运用面向对象程序设计课程中学到的理论知识来指导实践,了解面向对象和面向过程之间

3、的区别,学会运用类的方法解决实际问题。掌握一般类的定义、测试、封装等概念,掌握面向对象程序设计的基本概念和基本方法,掌握 c+的基本语法和基本内容,并能运用 c+语言进行基本的面向对象程序设计,并能通过综合课程实际,提高自己的实践动手技能,培养自己独立分析问题和解决问题的能力。1.2 输入输出的形式本系统是一个学生成绩管理系统,采用 codeblocks编译器作为开发环境。输入数据类型主要是 char,int double等基本数据类型,输入内容包括:学号,姓名,数学成绩、语文成绩、英语成绩等数据。用户在输入学基于 C+学生成绩管理系统4 / 88生数据时要保证输入数据格式的正确性。输出形式与

4、输入形式相似,根据需要可以选择显示输入的各项内容,还可以选择显示计算好总分、平均分后并排序后的记录,显示内容包括:学号,姓名,数学成绩、语文成绩、英语成绩、总分、平均分。系统还可显示统计之后及格率,优秀率等数据的记录。1.3 程序实现的功能2.用户运行程序后进入系统主界面,在主界面用户可以输入所有的数据并保存到文件中,也可以读取文件中已有的学生数据。用户在保存数据的时候,如果保存位置没有文件则自动新建一个文件进行保存。本系统同时只能对一个数据文件进行相关操作,不能同时打开多个数据文件,其类似于单用户操作系统。当用户读取学生数据后可对其进行显示,插入、删除、修改、排序,统计,计算总分和平均分等相

5、关操作。1. 在录入学生信息时,以前的学生信息会被删除,所以【录入学生信息】功能只能适用重新录入,而如果想在原有的学生数量上增加学生信息,应选择【插入学生信息】功能。2. 【显示统计数据】功能可以显示总成绩、数学成绩、语文成绩、英语成绩的及格率和优秀率。 (其中分数大于等于 60为及格,大于等于80为优秀)3. 【查找学生信息】功能中可以按学号和姓名进行查找。4. 【修改学生信息】功能只能根据学号进行修改,因为根据名字修改学生成绩管理系统录入学生信息 显示统计数据 信信信 查找学生信息 修改学生信息 删除学生信息 插入学生信息 学生成绩排名 输出学生信息 整理学生信息 退出本系统青岛科技大学

6、C语言课程实训报告5 / 88 有可能修改到重名的学生信息。5. 【删除学生信息】也只能根据学生学号进行删除。6. 【插入学生信息】功能是在原有的学生信息基础上增加新录入学生的信息。7. 【学生成绩排名】功能可以对学生的总成绩、数学成绩、语文成绩、英语成绩分别进行排名,而且每一种都可以选择是降序排序还是升序排序。8. 【输出学生信息】功能可以输出所有学生的信息,也可以选择输出总成绩、数学成绩、语文成绩、英语成绩及格或优秀的学生信息。9. 【整理学生信息】功能可以将学生的学号进行降序排序10. 在以上几种功能中,用户都可自行选择是否将删改后的学生信息保存至文件,以防止修改的数据丢失。2.程序设计

7、2.1 概要设计在进入程序主界面之前是开发者自身的简要信息介绍。在按任意键之后进入程序的主界面:基于 C+学生成绩管理系统6 / 88主界面:在此界面用户可以选择要操作的选项,回车之后即可进入相关页面进行操作。2.2 2.2详细设计在 main()函数中主要是通过“switch(menu()”选择判断来调试相关功能模块。系统的运行是在一个永真的循环里面进行的,只有在主界面并选择【退出本系统】时,才会跳出真循环,并退出主程序。主界面的设计:在主界面中包括【录入学生信息】 、 【显示统计数据】 、 【查找学生信息】 、 【修改学生信息】 、 【删除学生信息】 、 【插入学生信息】 、 【学生成绩排

8、名】 、 【输出学生信息】 、 【整理学生信息】 、 【退出本系统】等全部的功能,之所以设计这么一个主界面,一是因为能使用户对程序操作的流程更加清楚简明,二是保证了用户同时只能对一个文件进行操作的系统要求,保证了系统不会发生打开文件紊乱或者出现致命错误。每个函数的具体功能:1. 主函数 main()/显示主界面,对其他功能函数进行调用和处理。2. class Stu /声明 Stu类3. void Write(Stu s,int n)/向文件中写入数据4. int Read(Stu s)/从文件中读取数据5. void Input(Stu s) / 录入学生数据6. void Statisti

9、c(Stu s) /统计学生数据青岛科技大学 C语言课程实训报告7 / 88 7. double S_pass_rate(Stu s) /统计总成绩及格率8. double S_excellent_rate(Stu s) /统计总成绩优秀率9. double M_pass_rate(Stu s) /统计数学成绩及格率10.double M_excellent_rate(Stu s) /统计数学成绩优秀率11.double C_pass_rate(Stu s) /统计语文成绩及格率12.double C_excellent_rate(Stu s) /统计语文成绩优秀率13.double E_pa

10、ss_rate(Stu s) /统计英语成绩及格率14.double E_excellent_rate(Stu s) /统计英语成绩优秀率15.void findWithNum(Stu s) /根据学号查询学生信息16.void findWithName(Stu s) /根据姓名查询学生信息17.void Modify(Stu s) / 修改学生信息18.void Delete(Stu s)/按学号删除学生信息19.void Insert(Stu s) /增加学生信息20.void rankWithSum(Stu s) /根据总成绩进行排名21.void rankWithMath(Stu s)

11、 / 根据数学成绩进行排名22.void rankWithChinese(Stu s) /根据语文成绩进行排名23.void rankWithEnglish(Stu s) /根据英语成绩进行排名24.void Output(Stu s) /输出学生信息25.void tidy(Stu s) / 将学生信息按学号升序进行整理26.int menu()/菜单函数27.void self() /自我介绍函数2.3 使用说明用户运行程序后进入系统主界面,在主界面用户可以打开或者新建数据文件。用户新建或者打开文件要符合操作系统的要求,如果用户打开不存在的文件,那么系统将按照用户打开的文件名作为新的数据文

12、件名,并对其进行相关操作。本系统同时只能对一个数据文件进行相关操作,不能同时打开多个数据文件,其类似于单用户操作系统。当用户指定当前文件后可对其进行显示,插入,删除,修改,计算平均分等相关功能。用户在操作过程中可随时对当前文件进行保存到文件操作,以防止修改的数据丢失。操作完当前文件后,用户可以关闭该文件,在不退出本系基于 C+学生成绩管理系统8 / 88统的前提下另行打开或者新建数据文件对其进行相关操作。3.程序测试3.1 【录入学生信息】功能测试进入【录入学生信息】功能后会显示如上提示,输入“y”或“Y”均可输入学生信息如图所示。下面进行错误输入演示:1)当输入学号重复时:青岛科技大学 C语言课程实训报告9 / 88 2)当输入学生成绩不符合规范时:当结束录入时,会弹出以下界面:3.2 【统计学生数据】功能测试3.3 【查找学生信息】功能测试当选择【按学号查询功能】时:基于 C+学生成绩管理系统10 / 88选择【按姓名进行查询】时;错误输入演示;1)选择时输入有误:2)查询时输入有误:青岛科技大学 C语言课程实训报告11 / 88 3.4 【修改学生信息】功能测试输入 y后:3.5 【删除学生信息】功能测试基于 C+学生成绩管理系统12 / 883.6 【插入学生信息】功能测试3

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号