现在的位置: 首页 > 综合 > 正文

共用体

2013年12月09日 ⁄ 综合 ⁄ 共 944字 ⁄ 字号 评论关闭

【题目】有若干个人员的数据,其中有学生和教师。学生的数据包括:姓名、号码、性别、职业、班级。教师的数据包括:姓名、号码、性别、职业、职务。要求用同一个表格来处理。

#include<stdio.h>
struct person
{
	long num;
	char name[20];
    char sex;
	char job;
	union category
	{
		int clas;
		char position[20];
	}cat;
}per[2];
int main()
{
	int i;
	for(i=0;i<2;i++)
	{
		printf("Please enter the data of person:\n");
		scanf("%ld %s %c %c",&per[i].num,per[i].name,&per[i].sex,&per[i].job);
		if(per[i].job=='s')
			scanf("%d",&per[i].cat.clas);
		else if(per[i].job=='t')
			scanf("%s",per[i].cat.position);
		else 
			printf("Input error!\n");
	}
	printf("\n");
	printf("======================================\n");
	printf("NO.   name      sex job class/position\n");
	printf("======================================\n");
	for(i=0;i<2;i++)
	{
		if(per[i].job=='s')
			printf("%-6ld%-10s%-4c%-4c%-10d\n",
			           per[i].num,per[i].name,per[i].sex,per[i].job,per[i].cat.clas);

		else if(per[i].job=='t')
			printf("%-6ld%-10s%-4c%-4c%-10s\n",
			           per[i].num,per[i].name,per[i].sex,per[i].job,per[i].cat.position);
	}
	printf("======================================\n");
	return 0;
}

抱歉!评论已关闭.