编写一个学生和教师数据输入和显示程序,要求: (1)学生数据有编号、姓名、班号和成绩。 (2)教师数据有编号、姓名、职称和部门。 (3)将编号、姓名的输入和显示设计成类person,作为学生数据操作类student和教师数据操作类teacher的基类。用c++语言表示
时间: 2024-06-10 16:04:23 浏览: 212
#include <stdio.h>
#include <string.h>
/* 定义person类 */
typedef struct {
int id;
char name[20];
} person;
/* 定义student子类,继承person类 */
typedef struct {
person p;
int classNo;
float score;
} student;
/* 定义teacher子类,继承person类 */
typedef struct {
person p;
char position[20];
char department[20];
} teacher;
/* 输入person对象信息 */
void inputPersonInfo(person *p) {
printf("请输入编号:");
scanf("%d", &p->id);
printf("请输入姓名:");
scanf("%s", p->name);
}
/* 显示person对象信息 */
void showPersonInfo(person *p) {
printf("编号:%d,姓名:%s\n", p->id, p->name);
}
/* 输入student对象信息 */
void inputStudentInfo(student *s) {
inputPersonInfo(&s->p);
printf("请输入班号:");
scanf("%d", &s->classNo);
printf("请输入成绩:");
scanf("%f", &s->score);
}
/* 显示student对象信息 */
void showStudentInfo(student *s) {
showPersonInfo(&s->p);
printf("班号:%d,成绩:%.2f\n", s->classNo, s->score);
}
/* 输入teacher对象信息 */
void inputTeacherInfo(teacher *t) {
inputPersonInfo(&t->p);
printf("请输入职称:");
scanf("%s", t->position);
printf("请输入部门:");
scanf("%s", t->department);
}
/* 显示teacher对象信息 */
void showTeacherInfo(teacher *t) {
showPersonInfo(&t->p);
printf("职称:%s,部门:%s\n", t->position, t->department);
}
int main() {
student s;
teacher t;
inputStudentInfo(&s);
inputTeacherInfo(&t);
showStudentInfo(&s);
showTeacherInfo(&t);
return 0;
}
阅读全文