#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct Person
{
char name[32];
int num;
char age;
char profession[32];//职业
union
{
char class[12];
char job[12];
}mes;
};
int main()
{
struct Person *p=NULL;
int n,i;
char p1[32]="student";
char p2[32]="teacher";
printf("请输入有几个人的数据:\n");
scanf("%d",&n);
p=(struct Person*)malloc(n*sizeof(struct Person));
for(i=0;i<n;i++){
printf("请输入职业:student or teacher\n");
scanf("%s",p->profession);
if(strcmp(p->profession,p1)!=0 && strcmp(p->profession,p2)!=0){
printf("输入错误!\n请重新入\n");
i--;
continue;
}
if(strcmp(p->profession,p1) == 0){
printf("请输入学生班级:\n");
scanf("%s",p->mes.class);
printf("请输入学生姓名:\n");
scanf("%s",p->name);
}else{
printf("请输入老师职务:\n");
scanf("%s",p->mes.job);
printf("请输入老师姓名:\n");
scanf("%s",p->name);
}
p++;
}
p=p-n;
for(i=0;i<n;i++){
putchar('\n');
if(strcmp(p->profession,p1) == 0){
printf("学生\n班级:%s\n姓名:%s\n",p->mes.class,p->name);
}else{
printf("老师\n职务:%s\n姓名:%s\n",p->mes.job,p->name);
}
p++;
}
return 0;
}