1、学生成绩管理系统报告修复的昆明理工大学本科生课程设计课程名称C+课程设计学号201511101105学生姓名郭峰所在专业信息与计算科学所在班级151指导教师张志坚成绩教师签字课程设计时间:2016年4月 10 日 至20016年6月 17日目录:(1)目的与要求(2)系统需求分析与功能设计(3)内容设计(4)设计思路(5)实验总结(6)三个版本的程序结果及界面附件:程序代码正文一、目的与要求通过本课程设计的实践,全面总结C+课程学习中的的数据类型、程序结构、数组、函数、指针、结构体等基本概念,掌握其使用方法。掌握面向对象程序设计中有关类、对象、继承、重载、多态性、输入输出流类体系、文件操作的基
2、本概念,初步学会用类与对象这种面向对象的程序设计方法编写应用程序。培养使用面向对象的程序设计方法编写计算机程序的能力。通过设计一个学生成绩管理系统,进一步熟悉C+中类的概念、类的封装的实现方式。了解系统开发的需求分析、类层次设计、模块分解、编码测试、模块组装与整体调试的全过程,加深对C+的理解与Visual C+环境的使用;逐步熟悉程序设计的方法,并养成良好的编程习惯。程序设计是一门实践性很强的课程,必须十分重视实践环节。许多实际的知识不是靠听课和看书学到的,而是通过长时间的实践积累的。二、系统需求分析与功能设计系统需求:学生管理系统要求利用C语言面向过程的编程思想来完成系统的设计,除了要突出
3、C语言的函数特征,以多个函数实现每一个子功能外,还要画出功能模块图;另外,要求我们进行简单界面设计,能够实现友好的交互,熟练掌握C语言对文件的各种操作。 功能设计:1. 学生基本信息及成绩所选科目成绩的录入。 2. 基本信息的查询与修改。 3. 对该班各科成绩进行分析(即总和成绩); 4. 对所开课程的成绩分析; 程序开始执行时显示如下版权信息和主菜单: *学生成绩管理系统*1.添加学生成绩记录 *2.显示学生成绩记录 *3.查找学生成绩记录* 4.删除学生成绩记录 * 5.保存学生成绩记录* 6.加载学生成绩记录* 7.退出学生成绩管理系统 *请输入(17):(1)通过键盘输入数字17后,程
4、序能够执行相应的功能,执行完后回到上述主菜单继续等待用户输入,输入数字7后退出程序。(2)选择“添加学生成绩记录”后,输入要插入记录的位置。按程序提示依次输入学号,姓名,性别,成绩,插入记录成功。(3)选择“显示学生成绩记录”,显示学生成绩表中已有的学生记录的个数,并显示出各个学生记录的相关信息。(4)选择“查找学生成绩记录”,按提示输入要查找的学生的学号,输入学号,若该学号存在,则输出相应的学生记录,如该学号不存在,则按任意键返回主菜单。(5)选择“删除学生成绩记录”,按提示输入要删除的学生的学号,输入学号,若改学号存在,则删除相应的学生记录,如果该学号不存在,则按任意键返回主菜单。(6)选
5、择“保存学生成绩记录”,系统会将已有的学生记录保存在默认的文件名为fname.txt的文件中。(7)选择“加载学生成绩记录”,系统会提示输入文件名,输入默认的文件名为fname.txt,则可将文件中的相关信息导出。(8)选择“退出学生成绩管理系统”,按任意键退出系统。三、设计内容学生成绩管理系统 本学生成绩管理系统程序是一个具有对学生信息进行录入、添加、删除、根据学号进行学生信息的查询、显示已有学生信息的显示、对学生成绩进行统计,可以对已有的学生信息进行修改,保存和读取输入的数据等功能。一切功能都可以在运行的软件中运行。学生成绩管理系统结构图如下图主要编写部分学生成绩管理系统 学生成绩管理系统
6、内,共有两个类,分别为学生类和管理类。管理类共包含了7个不同的函数,而每一个函数是一个模块,并对它们具体编写,使之具有不同的功能。四、设计思路该课程设计的主要任务是运用在面向对象程序设计课程中学到的理论知识来指导实践,使学生了解面向对象与面向过程之间的区别,学会用类的方法解决实际问题。掌握一般类的定义、测试、封装、数据隐藏、继承及多态等概念,掌握面向对象程序设计的基本概念和基本方法,掌握,C+语言的基本语法和基本内容,并能运用C+语言进行基本的面向对象程序设计,并且通过综合课程设计,提高学生的实践动手技能,培养学生独立分析分析问题和解决问题的能力。,本系统是一个学生成绩管理系统,输入数据类型主
7、要是string等数据类型,输入内容包括,学生学号、姓名、数学成绩、英语成绩、c+成绩等数据。用户在输入学生数据时要保证输入数据格式的正确性,系统不会自动检测输入的数据是否正确。输出形式与输入形式类似,根据需要可以选择显示输入的各项内容,显示内容包括,学生学号、姓名、数学成绩、英语成绩、计算机成绩。 用户运行程序后进入系统主界面,在主界面用户可以输入所有学生的数据并保存到文件中,也可以读取文件中已有的学生数据。本系统同时只能对一个数据文件进行相关操作。当用户读取学生数据后可对其进行显示、文件尾增加、删除、查询、修改等相关操作。用户在操作过程中可随时对当前文件进行保存到文件操作,以防止修改的数据丢失。 五、实验总结一、语法错误 1、语句的最后忘记了加上“;”,使程序发生错误。2、把“”写反,以及字符与字符串的操作问题,这些是比较简单的错误,很容易分辨出来,并改正之。 3、函数的返回值问题,也是比较容易找出并解决的问题。二、逻辑错误 1、文件的写入与读出,刚开始对文件的操作不太明白,一致不能很好的操作文件,其中最大的问题是对已存在的文件读取问题,通过“显示学生信息”将数据从文件中读取,可是在使用过程中总是出现读出错误,出现乱码。 整个调试过程中主要是这么几个问题,其余的是一些小问题,很容易的就调试出来了。六、三个版本的程序结果及界面