構造体と共用体--先生と学生を含むいくつかの人のデータがあります:学生のデータは含みます:学号、名前、クラス;先生のデータには学号、名前、職務が含まれています.
8533 ワード
コード領域
構造体には共通体が含まれており、先生と学生の異なるデータを入力し、出力します.
構造体には共通体が含まれており、先生と学生の異なるデータを入力し、出力します.
#include
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
");
scanf("%d %s %c",&person[i].num,person[i].name,&person[i].job); //
if(person[i].job=='s')
{
printf("input Class
");
scanf("%d",&person[i].category.position);
}
else if(person[i].job=='t')
{
printf("input position
");
scanf("%s",person[i].category.position); //
}
else
printf("data error
");
};
for(i=0;i<2;i++)
{
if(person[i].job=='s')
printf("%-5d %-10s %-4c %-10d
",person[i].num,person[i].name,person[i].job,person[i].category.Class);
else
printf("%-5d %-10s %-4c %-10s
",person[i].num,person[i].name,person[i].job,person[i].category.position);
}
}