(用c++编写))描述学校情况,描述了对象包括教师和学生。声明了一个类people,其中包含成员变量name(姓名),age(年龄),add(地址)。作为教师类和学生类的基类。在学生类中,增加了成员变量成员变量number,记录所在分院、年级,在教师类中没有该变量。
时间: 2024-05-06 19:21:47 浏览: 100
用C++类编写学生信息管理
好的,我理解了你的问题。以下是用C语言编写的描述学校情况的程序:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义 People 类
typedef struct {
char name[20];
int age;
char add[50];
} People;
// 学生类继承于 People 类
typedef struct {
People base;
char number[20];
char grade[10];
} Student;
// 教师类继承于 People 类
typedef struct {
People base;
char subject[20];
} Teacher;
// 主函数
int main() {
Student s1, s2;
strcpy(s1.base.name, "张三");
s1.base.age = 18;
strcpy(s1.base.add, "上海市浦东新区");
strcpy(s1.number, "分院A-001");
strcpy(s1.grade, "大一");
printf("学生1姓名:%s,年龄:%d,地址:%s,分院:%s,年级:%s\n", s1.base.name, s1.base.age, s1.base.add, s1.number, s1.grade);
strcpy(s2.base.name, "李四");
s2.base.age = 20;
strcpy(s2.base.add, "上海市徐汇区");
strcpy(s2.number, "分院B-002");
strcpy(s2.grade, "大二");
printf("学生2姓名:%s,年龄:%d,地址:%s,分院:%s,年级:%s\n", s2.base.name, s2.base.age, s2.base.add, s2.number, s2.grade);
Teacher t1, t2;
strcpy(t1.base.name, "王老师");
t1.base.age = 35;
strcpy(t1.base.add, "上海市杨浦区");
strcpy(t1.subject, "数学");
printf("教师1姓名:%s,年龄:%d,地址:%s,科目:%s\n", t1.base.name, t1.base.age, t1.base.add, t1.subject);
strcpy(t2.base.name, "李老师");
t2.base.age = 40;
strcpy(t2.base.add, "上海市黄浦区");
strcpy(t2.subject, "英语");
printf("教师2姓名:%s,年龄:%d,地址:%s,科目:%s\n", t2.base.name, t2.base.age, t2.base.add, t2.subject);
return 0;
}
```
在这段程序中,我们先定义了一个 People 类,里面包含了姓名、年龄和地址这些成员变量。然后我们分别定义了学生类和教师类,分别继承于 People 类,并分别增加了所在分院、年级和科目这些成员变量。最后在主函数中创建了两个学生实例和两个教师实例,并赋值属性(姓名、年龄等)。运行程序后,会输出这四个人的信息,包括姓名、年龄、地址、分院、年级和科目等。
阅读全文