问题:设计一个大学教师和学生管理程序, 教师包括 编号、姓名、职称和教研室 数据的输入输出; 大学生包括编号、姓名、性别、班号、英语、高等数学和数据结构三门课程成绩的输入输出和计算平均分; 研究生包

#include <iostream>
using namespace std;


/*
问题:设计一个大学教师和学生管理程序,
教师包括  编号、姓名、职称和教研室 数据的输入输出;
大学生包括编号、姓名、性别、班号、英语、高等数学和数据结构三门课程成绩的输入输出和计算平均分;
研究生包括编号、姓名、性别、班号、指导教师和研究方法数据输入输出;
博士后数据的输入输出,博士后既是教师也是研究生。
要求:输入并输出一个教师、一个大学生和一个博士后的数据
*/
 class Person
{
int num;
char name[20];
char sex;
public:
void getnum()
{
cout << "编号:";
cin >> num;
cout << endl;
}
void getname()
{
cout << "名字:";
cin >> name;
cout << endl;
}
void getsex()
{
cout << "性别:";
cin>>sex;
cout << endl;
}
 void outnum()
{
 cout << "编号:";
 cout<< num;
 cout << endl;
}
void outname()
{
cout << "名字:";
cout<< name;
cout << endl;
}
void outsex()
{
cout << "性别:";
cout<< sex;
cout << endl;
}
};


class Teacher :virtual public Person
{
char  rank[20];
char  classnum[10];
public:
void getrank()
{
cout << "职称:";
cin >> rank;
cout << endl;
}
void getclassnum()
{
cout << "班级编号:";
cin >> classnum;
cout << endl;
}
void outrank()
{
cout << "职称:";
cout<< rank;
cout << endl;
}
void outclassnum()
{
cout << "班级编号:";
cout<< classnum;
cout << endl;
}
};
class Student :virtual public Person
{


char classnum[10];
int english;
int math;
int structdata;
public:
void getclassnum()
{
cout << "班级编号:";
cin >> classnum;
cout << endl;
}
void getenglish()
{
cout << "英语:";
cin>>english ;
cout << endl;
}
void getmath()
{
cout << "数学:";
cin >> math;
cout << endl;
}
void getstructdata()
{
cout << "数据结构:";
cin>>structdata;
cout << endl;
}
void outclassnum()
{
cout << "班级编号:";
cout << classnum;
cout << endl;
}
void outenglish()
{
cout << "英语:";
cout<< english;
cout << endl;
}
void outmath()
{
cout << "数学:";
cout<<math;
cout << endl;
}
void outstructdata()
{
cout << "数据结构:";
cout<< structdata;
cout << endl;
}
};
class Graduate :virtual public Person
{
char  classnum[10];
char teacher[20];
char direction[40];
public:
void getclassnum()
{
cout << "班级编号:";
cin >> classnum;
cout << endl;
}
void getteacher()
{
cout << "指导老师:";
cin >> teacher;
cout << endl;
}
void getdirection()
{
cout << "研究:";
cin >> direction;
cout << endl;
}


void outclassnum()
{
cout << "班级编号:";
cout<< classnum;
cout << endl;
}
void outteacher()
{
cout << "指导老师:";
cout<< teacher;
cout << endl;
}

void outdirection()
{
cout << "研究:";
cout<< direction;
cout << endl;
}


};
class Post_doctoral :virtual public Graduate,  public Teacher
{


};


void  main()
{
//要求:输入并输出一个教师、一个大学生和一个博士后的数据
Teacher t;
Student s;
Post_doctoral p;
cout << "教师:" << endl;
t.getnum();
t.getname();
t.getsex();
t.getrank();
t.getclassnum();


t.outnum();
t.outname();
t.outsex();
t.outrank();
t.outclassnum();


cout << "学生:" << endl;
s.getnum();
s.getname();
s.getsex();
s.getclassnum();
s.getenglish();
s.getmath();
s.getstructdata();




s.outnum();
s.outname();
s.outsex();
s.outclassnum();
s.outenglish();
s.outmath();
s.outstructdata();


cout << "博士后:" << endl;
p.getnum();
p.getname();
p.getrank();
p.Teacher::getclassnum();






p.outnum();
p.outname();
p.outrank();
p.Teacher::outclassnum();












system("pause");

}

问题描述(功能要求): 某高校,主要人员有:在职人员(行政人员、教师、一般员工)、退休人员、返聘人员和临时工。现在,需要存储这些人员的人事档案信息编号姓名性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间。 要求: 1) 添加删除功能:能根据学院人事的变动情况,添加删除记录; 2) 查询功能:能根据编号姓名进行查询; 3) 编辑功能(高级):根据查询对相应的记录进行修改,并存储; 4) 统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数); 5) 保存功能:能对输入的数据进行相应的存储,要求重载插入和提取符以完成数据的保存和打开。 6) 人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺序加1。 2、问题的解决方案: 根据系统功能要求,可以将问题解决分为以下步骤: (1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计; (2)分析系统中的各个实体及它们之间的关系包括属性和行为; (3)根据问题描述,设计系统的类层次; (4)完成类层次中各个类的描述(包括属性和方法); (5)完成类中各个成员函数的定义; (6)完成系统的应用模块; (7)功能调试; (8)完成系统总结报告以及系统使用说明书。 四、报告:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值