请定义一个描述学生基本信息的结构,包括姓名、学号、身份证号、年龄、性别,并定义一个结构体数组。编程: 1. 编写函数input(),输入学生基本信息(3~5条记录) 2. 编写函数print(),输出全体记录信息; 3. 编写函数search(),检索一个指定的学生姓名并返回,由主函数打印到屏幕上; 说明:访问结构的时候,运算符前是结构体变量时用“.”,是指向结构体变量的指针时用“->”。
时间: 2023-05-17 17:05:54 浏览: 95
好的,以下是我对你的问题的回答:
定义一个描述学生基本信息的结构体,包括姓名、学号、身份证号、年龄、性别,并定义一个结构体数组:
```
struct Student {
char name[20];
char student_id[20];
char id_card[20];
int age;
char gender[10];
};
struct Student students[5];
```
编写函数input(),输入学生基本信息(3~5条记录):
```
void input() {
for (int i = 0; i < 5; i++) {
printf("请输入第%d个学生的姓名:", i+1);
scanf("%s", students[i].name);
printf("请输入第%d个学生的学号:", i+1);
scanf("%s", students[i].student_id);
printf("请输入第%d个学生的身份证号:", i+1);
scanf("%s", students[i].id_card);
printf("请输入第%d个学生的年龄:", i+1);
scanf("%d", &students[i].age);
printf("请输入第%d个学生的性别:", i+1);
scanf("%s", students[i].gender);
}
}
```
编写函数print(),输出全体记录信息:
```
void print() {
for (int i = 0; i < 5; i++) {
printf("姓名:%s,学号:%s,身份证号:%s,年龄:%d,性别:%s\n", students[i].name, students[i].student_id, students[i].id_card, students[i].age, students[i].gender);
}
}
```
编写函数search(),检索一个指定的学生姓名并返回,由主函数打印到屏幕上:
```
char* search(char* name) {
for (int i = 0; i < 5; i++) {
if (strcmp(students[i].name, name) == 0) {
return students[i].student_id;
}
}
return NULL;
}
```
注意:在主函数中调用search函数时,需要判断返回值是否为NULL,如果是NULL,则表示没有找到对应的学生姓名。
以上就是我的回答,希望能够帮到你!
阅读全文