请用c语言定义一个可运行的完整的描述学生基本信息的结构,包括姓名,学号,籍贯,身份证号,年龄,家庭 住址,性别,联系方式等,并定义一个结构体数组编程: 编写函数input().输入基本信息(3~5条记录); 编写函数 print(),输出全体记录信息; 编写函数search().检索一个指定的学生信息并返回,由主函数打印到屏幕上; 说明,访问结构的时候,什么时候应该用运算符“.”,什么时候应该用运算符“.>”(运算符前是结构体变量时用“.”,是指向结构体变量的指针时用“.>”)
时间: 2023-04-11 10:00:46 浏览: 151
可以使用以下代码定义一个可运行的完整的描述学生基本信息的结构:
```
#include <stdio.h>
#include <string.h>
#define MAX_STUDENTS 100
struct student {
char name[20];
char id[20];
char hometown[20];
char id_card[20];
int age;
char address[50];
char gender[10];
char phone[20];
};
struct student students[MAX_STUDENTS];
int num_students = 0;
void input() {
int i;
for (i = 0; i < MAX_STUDENTS; i++) {
printf("请输入第%d个学生的信息:\n", i + 1);
printf("姓名:");
scanf("%s", students[i].name);
printf("学号:");
scanf("%s", students[i].id);
printf("籍贯:");
scanf("%s", students[i].hometown);
printf("身份证号:");
scanf("%s", students[i].id_card);
printf("年龄:");
scanf("%d", &students[i].age);
printf("家庭住址:");
scanf("%s", students[i].address);
printf("性别:");
scanf("%s", students[i].gender);
printf("联系方式:");
scanf("%s", students[i].phone);
num_students++;
printf("\n");
}
}
void print() {
int i;
printf("所有学生的信息如下:\n");
for (i = 0; i < num_students; i++) {
printf("姓名:%s\n", students[i].name);
printf("学号:%s\n", students[i].id);
printf("籍贯:%s\n", students[i].hometown);
printf("身份证号:%s\n", students[i].id_card);
printf("年龄:%d\n", students[i].age);
printf("家庭住址:%s\n", students[i].address);
printf("性别:%s\n", students[i].gender);
printf("联系方式:%s\n", students[i].phone);
printf("\n");
}
}
void search() {
char id[20];
int i;
printf("请输入要查找的学生的学号:");
scanf("%s", id);
for (i = 0; i < num_students; i++) {
if (strcmp(students[i].id, id) == 0) {
printf("找到了该学生的信息:\n");
printf("姓名:%s\n", students[i].name);
printf("学号:%s\n", students[i].id);
printf("籍贯:%s\n", students[i].hometown);
printf("身份证号:%s\n", students[i].id_card);
printf("年龄:%d\n", students[i].age);
printf("家庭住址:%s\n", students[i].address);
printf("性别:%s\n", students[i].gender);
printf("联系方式:%s\n", students[i].phone);
printf("\n");
return;
}
}
printf("没有找到该学生的信息。\n");
}
int main() {
input();
print();
search();
return 0;
}
```
在访问结构的时候,应该用运算符“.”,因为我们定义了一个结构体数组,而不是指向结构体变量的指针。如果我们定义了一个指向结构体变量的指针,那么应该用运算符“.>”。
阅读全文