请定义一个描述学生基本信息的结构,包括姓名,学号,籍...
请定义一个描述学生基本信息的结构,包括姓名,学号,籍贯,身份证号,年龄,家庭 住址,性别,联系方式等。并定义一个结构体数组。编程: a) 编写函数 input() , 输入基本信息(3~5 条记录); b) 编写函数 print(),输出全体记录信息; c) 编写函数 search(), 检索一个指定的学生信息并返回, 由主函数打印到屏幕上; d) 说明,访问结构的时候,什么时候应该用运算符“.”,什么时候应该用运算符“->”。 (运算符前是结构体变量时用“.”,是指向结构体变量的指针时用“->”) 参考代码: #include #include #define N 3 //增加程序的可扩展性 void input(struct student stu[]); void print(struct student stu[]) ; void search(struct student stu[], char name[]); _________________{ char name[20]; char num[15]; char place[20]; char id[20]; int age; char address[100]; char sex; char phone[15]; }__________; void main() { char name[20]; input(stu); print(stu); printf("\n请输入想要查找的学生姓名: "); scanf("%s", name); search(stu, name); } void input(struct student stu[]) { int i; for(i=0; i { printf("请输入第%d个学生的信息:\n", i+1); printf("姓名: "); scanf("%s", stu[i].name); printf("学号: "); scanf("%s", stu[i].num); printf("籍贯: "); scanf("%s", stu[i].place); printf("身份证号: "); scanf("%s", stu[i].id); printf("年龄: "); scanf("%d", &stu[i].age); printf("家庭住址: "); scanf("%s", stu[i].address); fflush(stdin); printf("性别(M/F): "); scanf("%c", &stu[i].sex); printf("电话: "); scanf("%s", stu[i].phone); printf("\n"); } } void print(struct student stu[]) { int i; printf("姓名学号 籍贯 身份证号 年龄地址 性别电话 \n"); for(i=0; i printf("%-8s%-12s%-10s%-20s%-4d%-10s%-3c%-10s\n", stu[i].name, stu[i].num, stu[i].place, stu[i].id, stu[i].age, stu[i].address, stu[i].sex, stu[i].phone); } void search(struct student stu[], char name[]) { int flag=0; int i; for(i=0; i if(strcmp(stu[i].name, name)==0) { printf("%-8s%-12s%-10s%-20s%-4d%-10s%-3c%-10s\n", stu[i].name, stu[i].num, stu[i].place, stu[i].id, stu[i].age, stu[i].address, stu[i].sex, stu[i].phone); flag = 1; } if(flag==0)printf("没有"); else printf("有"); }