教师数据有教师编号、姓名、年龄、性别、职称、系别,学生的数据有学号、姓名、年龄、性别、班级、语文、数学、英语成绩。编程完成学生和教师档案数据的输入和显示要求如下:
设计三个类Person、Teacher、Student,Person是Tercher和Student的基类,具有此二类共有的数据成员姓名、年龄、性别,并具有输入和显示这些数据的成员函数;Tercher类继承了Person类的功能,并增加对教师编号、职称和系别等数据成员进行输入和显示的成员函数。按同样的方法完善Student类的设计。
代码:
#include"iostream"
#include"iomanip"
using namespace std;
class person{
private:
char name[8];
int age;
char sex;
public:
void inputdata(){
cin >> name >> age >> sex;
}
void display(){
cout << setw(8) << name << setw(8) << age << setw(8) << sex ;
}
};
class Teacher:public person{
private:
int number;
char post[8];
char department[8];
public:
void inputdata()
{
cout << "请输入教师姓名、年龄、性别、编号、职称、系别" << endl;
person::inputdata();
cin >> number >> post >> department;
}
void display()
{
cout << setiosflags(ios::left);
cout << setw(8) <<"姓名" << setw(8) << "年龄" << setw(8) << "性别" << setw(8) << "编号" << setw(8) << "职称" << setw(8) << "系别" << endl;
person::display();
cout << setw(8) << number << setw(8) << post << setw(8) << department << endl;
}
};
class student:public person{
private:
int number;
char grade[10];
int china;
int math;
int english;
public:
void inputdata()
{
cout << "请输入学生姓名、年龄、性别、学号、班级、语文、数学、英语三门课程成绩" << endl;
person::inputdata();
cin >> number >> grade >> china >> math >> english ;
}
void display()
{
cout << setiosflags(ios::left);
cout << setw(8) << "姓名 " << setw(8) << "年龄 " << setw(8) << "性别 " << setw(8) << "学号 " << setw(8) << "班级 " << setw(10) << "语文成绩 " << setw(10) << "数学成绩 " << setw(10) << "英语成绩 " << endl;
person::display();
cout << setw(8) << number << setw(8) << grade << setw(10) << china << setw(10) << math << setw(10) << english << endl;
}
};
void main()
{
Teacher t;
t.inputdata();
t.display();
student s;
s.inputdata();
s.display();
}