Problem I: 完成学生类和教师类的设计

发布于:2022-12-09 ⋅ 阅读:(633) ⋅ 点赞:(0)

 

Problem Description

一个教学系统至少有学生和教师两种类型的人员,假设教师的数据有教师编号、姓名、年龄、性别、职称和系别,学生的数据有学号、姓名、年龄、性别、班级和语文、数学、英语三门课程的成绩。现编程完成学生和教师档案数据的输入和显示。要求如下:

设计三个类Person、Teacher、Student,Person是Teacher和Student的基类,具有此二类共有的数据成员姓名、年龄、性别,并具有输入和显示这些数据的成员函数;Teacher类继承了Person类的功能,并增加对教师编号、职称和系别等数据成员进行输入和显示的成员函数。Student类按同样的方法设计。

根据题意完成下面的程序:

#include <iostream>

using namespace std;

#include <string>

class Person{

private:

string name;

int age;

string sex;

public:

Person(string ="",int =0,string ="");

void inputname(){cin>>name;}

void printname(){cout<<name<<endl;}

void inputage(){cin>>age;}

void printage(){cout<<age<<endl;}

void inputsex(){cin>>sex;}

void printsex(){cout<<sex<<endl;}

};

Person::Person(string Name,int Age,string Sex){name=Name;age=Age;sex=Sex;}

//你的代码将被嵌入在这里

int main(){
    Teacher t1,t2("张华",33,"男","T001","讲师","计算机系");
    Student s1,s2("李丽",19,"女","S001","0309201",90,92,98);
    t1.inputname();
    t1.inputage();
    s1.inputChinese();
    s1.inputname();
    t1.printname();
    t1.printage();
    s1.printname();
    s1.printage();
    t2.printname();
    t2.printage();
    s2.printname();
    s2.printage();
    return 0;
}

Sample Input

John
40
90
Mary

Sample Output

John
40
Mary
0
张华
33
李丽
19

 

class Teacher : public Person
{
private:
    string no;
    string title;
    string dept;
public:
    Teacher(string name, int age, string sex, string no, string title, string dept) :Person(name, age, sex), no(no), title(title), dept(dept) {}
    Teacher(){}
};
class Student : public Person
{
private:
    string no;
    string num;
    int china;
    int math;
    int english;
public:
    Student(){}
    Student(string name, int age, string sex, string no, string num, int china, int math, int english):Person(name, age, sex), no(no), num(num), china(china), math(math), english(english){}
    void inputChinese()
    {
        cin >> china;
    }
};

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到