编写一个学生和教师相关数据输入和显示程序。设计三个类 person, student 和 teacher 类,其中 student 和 teacher 是由 person 类派生出来的。学生(student)数据有 学号、姓名、性别、年龄、班级号和期末三门功课总分;教师(teacher)数据有职工号、 姓名、性别、年龄、职称和系别。 在主程序中,定义两个学生和两个教师,从键盘输入他们相关的数据,并将输入数据输 出显示在屏幕上。(提示:person 类有两个公有成员函数:void input();输入学生或教师 的姓名、性别和年龄;显示输出函数 void display();显示学生和教师的姓名、性别和年 龄。该类中有三个私有数据成员:姓名 char name[20]、性别和年龄。Person 类定义已经 给出,请设计其他两个类和主函数。(程序和运行结果写入实验报告) class Person { char name[20]; char gender; int age; public: Person() {} Person(char* Name,char Gender,char Age) { cout<<"Constructing "<<Name<<endl; strcpy(name,Name); gender=Gender; age=Age; } void input() { cout<<"请输入姓名:"<<endl; cin>>name; cout<<"性别:"<<endl; cin>>gender; cout<<"年龄:"<<endl; cin>>age; } void display() { cout<<"姓名:"<<name<<endl; cout<<"性别:"<<gender<<endl; cout<<"年龄:"<<age<<endl; }
时间: 2023-10-30 18:15:09 浏览: 163
好的,这是一个比较典型的面向对象编程问题,我来为您提供一下代码实现。
```python
class Person:
def __init__(self):
self.name = ''
self.gender = ''
self.age = 0
def input(self):
self.name = input('请输入姓名:')
self.gender = input('请输入性别:')
self.age = input('请输入年龄:')
def display(self):
print('姓名:', self.name)
print('性别:', self.gender)
print('年龄:', self.age)
class Student(Person):
def __init__(self):
super().__init__()
self.id = ''
self.class_num = ''
self.score = 0
def input(self):
super().input()
self.id = input('请输入学号:')
self.class_num = input('请输入班级号:')
self.score = input('请输入期末三门功课总分:')
def display(self):
super().display()
print('学号:', self.id)
print('班级号:', self.class_num)
print('期末三门功课总分:', self.score)
class Teacher(Person):
def __init__(self):
super().__init__()
self.id = ''
self.job_title = ''
self.department = ''
def input(self):
super().input()
self.id = input('请输入职工号:')
self.job_title = input('请输入职称:')
self.department = input('请输入系别:')
def display(self):
super().display()
print('职工号:', self.id)
print('职称:', self.job_title)
print('系别:', self.department)
# 测试代码
s1 = Student()
s1.input()
s2 = Student()
s2.input()
t1 = Teacher()
t1.input()
t2 = Teacher()
t2.input()
s1.display()
s2.display()
t1.display()
t2.display()
```
运行上述代码后,您可以依次输入两个学生和两个教师的信息,程序将会自动将输入的数据保存到对应的类实例中,并且可以通过调用 `display` 方法,将实例的数据打印出来。
阅读全文