/*
====================
结构体与联合体的应用
====================
*/
#include <stdio.h>
struct Person
{
char name[16]; //学生或者老师姓名
char profession; //职业(用来判别是学生还是老师)
union Data
{
char class[16]; //学生班级
char project[16]; //老师任职科目
}different; //可以从different内选择联合体内的数据,相当于在下面主函数定义
};
int main()
{
struct Person p[2]; //两个人,一个学生一个老师
int i;
for (i=0; i<2; i++){
printf("请输入职业(t代表老师,s代表学生):\n");
scanf("%c", &(p[i].profession));
if (p[i].profession == 't'){
printf("请输入老师的姓名和任职科目:\n");
scanf("%s%s", p[i].name, p[i].different.project);
}
else{
printf("请输入学生的姓名和教室班级:\n");
scanf("%s%s", p[i].name, p[i].different.class);
}
getchar();
}
for (i=0; i<2; i++){
if (p[i].profession == 's'){
printf("学生的姓名是:%s,班级是%s\n", p[i].name, p[i].different.class);
}
else{
printf("老师的姓名是:%s,任职科目是%s\n", p[i].name, p[i].different.project);
}
}
return 0;
}
//结果:
请输入职业(t代表老师,s代表学生):
t
请输入老师的姓名和任职科目:
张三
数学
请输入职业(t代表老师,s代表学生):
s
请输入学生的姓名和教室班级:
李四
高三7班
老师的姓名是:张三,任职科目是数学
学生的姓名是:李四,班级是高三7班
结构体与联合体的应用
最新推荐文章于 2024-05-10 17:35:15 发布