福建农林大学计算机与信息学院
计算机类
课程设计报告
课程名称:
面向对象程序设计课程设计
课程设计题目:
学生信息管理系统
姓
名:
系:
计算机
专
业:
计算机科学与技术
年
级:
学
号:
指导教师:
职
称:
讲师
2012年 5月29日
福建农林大学计算机与信息学院计算机类
课程设计结果评定
评语:
评分项目分值得分
① 课程设计报告符合规范
10
② 类层次结构图和用例图合理
30
③ 主要技术路线正确
30
④ 设计报告条理清晰,重点突出
20
⑤ 有一定的创新性,难易程度
10
成绩:
任务下达日期:年月日
指导教师签字:
评定日期:年月日
- 2 -
目录
1、课程设计的目的1
2、课程设计的要求1
3、课程设计方案1
3.1 设计题目学生信息管理系统1
4. 设计内容2
4.1 类层次结构图和用例图2
4.2 变量描述3
4.3 核心算法描述3
4.4 实现说明4
4.5 程序代码4
4.6 程序执行结果8
4.7 结果的讨论10
5. 总结10
6 参考文献10
学生信息管理系统
1、课程设计的目的
《面向对象程序设计课程设计》 是计算机科学与技术专业和软件工程专业集中实践性环节之一, 是学习完《面向对象程序设计》 课程后进行的一次全面的综
合练习。其目的在于加深对面向对象程序设计中基础理论和基本知识的理解, 培养学生的实践能力, 促进理论与实践的结合。 通过课程设计, 让学生能够熟练进行面向对象编程, 建立对象模型, 降低软件的复杂性, 改善软件的重用性和维护性,提高软件的生产效率,全面掌握面向对象编程技术。
2、课程设计的要求
1、掌握使用一种面向对象程序设计语言如Borland C++ 或 Visual C++ 等。
、培养调查研究、查阅技术文献、资料、手册以及编写技术文献的能力。
、通过课程设计,要求学生在指导教师的指导下,独立完成实习课题的全部内容,包括:
通过调查研究和上机实习,收集和调查有关技术资料。
⑵ 掌握设计课题的基本步骤和方法。
⑶ 根据课题的要求进行上机实验调试。
4、课程设计完成后,提交课程设计报告
3、课程设计方案
3.1 设计题目学生信息管理系统
运用 C++语言描述学生类,每一个类应包含数据成员和成员函数。设计基类和派生类,并运用多态性和虚函数的知识。 注重面向对象程序设计理论知识的理解与实际的动手编程能力, 要求学生设计具有继承与派生以及多态性的类, 理解面向对象程序设计的核心的概念。
本课程设计要实现的主要功能如下:
1)建立学生类
2)学生信息的初始化
3)学生信息的添加、修改、删除、查找
- 1 -
4)学生信息的输出
5)对学生信息按学号、成绩排序
6)计算一门课的平均分和总分
7)将学生信息保存为文件
3.2 系统特点
3.2.1 系统实现特点
(1) 在主界面中采用↑↓键,进行系统功能的选择和切换;
(2) 在主界面选择功能时, 采用虚函数、 抽象类、虚基类的实现方法;
(3) 在类进行的定义时,采用继承、多继承的方法。
3.2.2 分工
吴文兵负责模块: 6~7:计算课程分数,学生信息导出;黄贝思负责模块:
4~5:学生信息查找,学生信息查看;陈仁松负责模块:1~3:学生信息录入,学
生信息修改,学生信息删除
设计内容
4.1 类层次结构图和用例图
类图:
- 2 -
4.2 变量描述
定义形式 / 名称
含义/ 作用
数组
Student stus[N]
学生对象数组。
全局变量
int stuscont
学生记录数
Student currentstudent;
当前操作学生对象
#define N 100
数组存放最大学生
数
文件
importStudentInfo.txt
导出学生信息文件
函数
void readStudent()
读取学生信息
printstrike()
打印标题
4.3 核心算法描述
- 3 -
4.4 实现说明
计算课程分数: 系统在初始化后学生所有信息都保存在数组, 因此计算一门课程的总分, 只要遍历学生数组, 把相同的课程分数相加即可, 平均分即总分除以学生数。
学生信息导出:即把学生数组中的记录导出到txt 文件,其中导出的时候计
算课程总分先四舍五入后保留两位小数,特别是用fprintf() 函数把 String 类型数
据导出到 txt 文件的时候要把 String 变量转化为字符串常量。
4.5 程序代码
//6.计算课程分数
class scores :public Information
{
public:
virtual void method()
{
system("cls");
printstrike();
if(stusco