厦门理工c课程设计
《C++面向对象程序设计》
课程设计报告
(2012— 2013学年 第 3学期)
题 目: 学校人员信息管理系统
专 业: 计算机科学与技术
班 级: 计算机科学与技术
姓名学号:
指导教师:
成 绩:
计算机科学与技术系
2013年7月1日设计目的
课程设计是学习C++程序设计的一个重要环节。通过课程设计的综合训练,可以使学生在学习理论知识并在实验中进行了一系列基本训练的基础上,进一步加强学生对实际问题分析、编程和动手能力的提高,强化综合应用能力,扩充知识,开阔视野。学生在熟练运用Visual C++ 6.0以后,通过使用Visual C++ 6.0的训练,扩展程序设计的知识面,提高综合应用C++知识能力的要求。
二、设计内容
设计一个学校人员信息管理系统,可以实现对学校人事的信息管理。基本功能要求如下:
()建立信息数据包括、姓名、性别、出生时间、年龄。Mathematics)。三门课的成绩为int型数据。
2)对教师,还包括职称(如教授/副教授/讲师),工资(如1432.50)。工资为double型数据。
()使用继承的方法构造3个类,类——虚基类类——派生类类——派生类()))”课程成绩最高的学生记录并打印;对教师,查找“工资”最高的教师记录并打印。要求:采用函数模板实现。
显示功能:DisplayData()函数。在屏幕上打印所有的数据记录;打印时,先打印学生的记录,后打印教师的记录。并且按学生(教工号)升序打印。
()要求对<<和>>运算符进行重载。考虑到输人时,名字中空格,所以重载>>运算符时,需要满足这个要求。()()()1-增加一位人员(教师、学生)记录-删除一个人员记录-修改一个人员记录-根据“学号(教工号)”、“姓名”、“性别”查找记录
5-根据人员类别(学生、教师)查找“English”课程成绩最高的学生,或最高工资的教师
6-显示全部人员记录 -从外部文件追加数据
8-将所有数据保存到磁盘文件
9-退出系统。
三、总体设计
1、系统类的层次关系
people类——基类、姓名、性别、出生时间、年龄。类——派生类Mathematics三门成绩,选修课成绩,选修课名称,专业。
teacher类——派生类
class people{
public:
int num;
string name;
string sex;
string birthday;
int age;
people(int num1,string name1,string sex1,string birthday1,int age1)
{
num=num1;
name=name1;
sex=sex1;
birthday=birthday1;
age=age1;
}
};
2、学生类:
class student:virtual public people{
public:
string major;
string lesson;
int score;
int Chinese;
int English;
int Mathematics;
student(int num1=0,string name1="",string sex1="",string birthday1="",int age1=0,
string major1="",string lesson1="",int score1=0,int Chinese1=0,int English1=0,int Mathematics1=0):
people(num1,name1,sex1,birthday1,age1)
{
major=major1;
lesson=lesson1;
score=score1;
Chinese=Chinese1;
English=English1;
Mathematics=Mathematics1;
}
void AddData()
{
system("cls");
cout<
cin>>num;
for(int k=1;k<11;k++)
if(num==k)
k=11;
if(k==11)
{
cout<
AddData();