昆明理工大学
本科生课程设计
课程名称 学号 学生姓名 所在专业 所在班级 指导教师 成绩 教师签字
C++课程设计
201511101105 郭峰
信息与计算科学
151 张志坚
课程设计时间:2016年4月 10 日
至20016年6月 17日
目录:
(1) 目的与要求
(2) 系统需求分析与功能设计
(3) 内容设计
(4) 设计思路
(5) 实验总结
(6三个版本的程序结果及界面
附件:程序代码
1
正文
一、 目的与要求
通过本课程设计的实践,全面总结C++课程学习中的的数据类型、程序结构、数组、函数、指针、结构体等基本概念,掌握其使用方法。掌握面向对象程序设计中有关类、对象、继承、重载、多态性、输入输出流类体系、文件操作的基本概念,初步学会用类与对象这种面向对象的程序设计方法编写应用程序。培养使用面向对象的程序设计方法编写计算机程序的能力。
通过设计一个《学生成绩管理系统》,进一步熟悉C++中类的概念、类的封装的实现方式。了解系统开发的需求分析、类层次设计、模块分解、编码测试、模块组装与整体调试的全过程,加深对C++的理解与Visual C++环境的使用;逐步熟悉程序设计的方法,并养成良好的编程习惯。程序设计是一门实践性很强的课程,必须十分重视
2
实践环节。许多实际的知识不是靠听课和看书学到的,而是通过长时间的实践积累的。
二、 系统需求分析与功能设计
系统需求:学生管理系统要求利用C语言面向过程的编程思想来完成系统的设计,除了要突出C语言的函数特征,以多个函数实现每一个子功能外,还要画出功能模块图;另外,要求我们进行简单界面设计,能够实现友好的交互,熟练掌握C语言对文件的各种操作。 功能设计:
1. 学生基本信息及成绩所选科目成绩的录入。 2. 基本信息的查询与修改。 3. 对该班各科成绩进行分析(即总和成绩); 4. 对所开课程的成绩分析; 程序开始执行时显示如下版权信息和主菜单:
*******学生成绩管理系统************* *1.添加学生成绩记录
3
*2.显示学生成绩记录 *3.查找学生成绩记录 * 4.删除学生成绩记录 * 5.保存学生成绩记录 * 6.加载学生成绩记录 * 7.退出学生成绩管理系统
************************************ 请输入(1~7:
(1) 通过键盘输入数字1~7后,程序能够执行相应的功能,执行完后回到上述主菜单继续等待用户输入,输入数字7后退出程序。
(2)
选择“添加学生成绩记录”后,输入要插入记录的位置。按程序提示依次输入学号,姓名,性别,成绩,插入记录成功。
(3) 选择“显示学生成绩记录”,显示学生成绩表中已有的学生记录的个数,并显示出各个学生记录的相关信息。
(4) 选择“查找学生成绩记录”,按提示输入要查找的学生的学号,输入学号,若该学号存在,则输出相应的学生记录,如该学号不存在,则按任意键返回主菜单。
(5) 选择“删除学生成绩记录”,按提示输入要删除的学生的学号,输入学号,若改学号存在,则删除相应的学生记录,如果该学号不存在,则按任意键返回主菜单。
(6) 选择“保存学生成绩记录”,系统会将已有的学生记录保存在默认的文件名为fname.txt的文件中。
(7) 选择“加载学生成绩记录”,系统会提示输入文件名,输入默认的文件名为fname.txt,则可将文件中的相关信息导出。
(8) 选择“退出学生成绩管理系统”,按任意键退出系统。
4
三、 设计内容
学生成绩管理系统
本《学生成绩管理系统》程序是一个具有对学生信息进行录入、添加、删除、根据学号进行学生信息的查询、显示已有学生信息的显示、对学生成绩进行统计,可以对已有的学生信息进行修改,保存和读取输入的数据等功能。一切功能都可以在运行的软件中运行。
学生成绩管理系统结构图如下图
添 加
删 除
修 改
增 加
文件操作
查 看
学生成绩管理系统
学生姓名、学号、性别、年龄、基础
科目成绩
5
主要编写部分学生成绩管理系统 学生成绩管理系统内,共有两个类,分别为学生类和管理类。管理类共包含了7个不同的函数,而每一个函数是一个模块,