结构体与共用体--有若干人的数据,包含老师和学生: 学生数据包括:学号,姓名,班级;老师数据包括学号,姓名,职务。

代码区

结构体里面包含一个共用体,输入老师与学生的不同数据,并且输出

#include<stdio.h>
struct n
{
 int num;
 char name[10];
 char job;
 union
 {
  int Class;
  char position[10];
 }category;
}person[2];

main()
{
int i;
for(i=0;i<2;i++)
{
	printf("input the data\n");
 scanf("%d %s %c",&person[i].num,person[i].name,&person[i].job);  //注意字符串的输入格式
if(person[i].job=='s')
{
printf("input Class\n");
scanf("%d",&person[i].category.position);
}
else if(person[i].job=='t')
{
printf("input position\n");
scanf("%s",person[i].category.position);  //格式注意了哈
}
else
printf("data error\n");
};
 for(i=0;i<2;i++)
 {
  if(person[i].job=='s')
  printf("%-5d %-10s %-4c %-10d\n",person[i].num,person[i].name,person[i].job,person[i].category.Class);
  else
  printf("%-5d %-10s %-4c %-10s\n",person[i].num,person[i].name,person[i].job,person[i].category.position);
 }
}
发布了57 篇原创文章 · 获赞 54 · 访问量 2367

猜你喜欢

转载自blog.csdn.net/September_C/article/details/104910021