C语言利用C语言当中的结构体知识,建立学生结构体Stu,对应的属性有name(姓名),id(学号),score(分数)。请为这些属性分配好合适的数据类型,并定义一个能容纳50个的Stu结构体数组。完成图示的菜单效果,并把实现代码及结果的截图粘贴在相应题目下方的空行处
时间: 2023-07-14 16:13:10 浏览: 112
C语言利用结构体数组实现学生成绩管理系统
5星 · 资源好评率100%
```c
#include <stdio.h>
#include <string.h>
#define MAX_STUDENTS 50
struct student {
char name[20];
int id;
float score;
};
struct student students[MAX_STUDENTS];
int main() {
int choice = 0;
int num_students = 0;
char name[20];
int id = 0;
float score = 0.0;
while (choice != 4) {
printf("请选择操作:\n");
printf("1. 添加学生\n");
printf("2. 查找学生\n");
printf("3. 显示所有学生\n");
printf("4. 退出\n");
scanf("%d", &choice);
switch (choice) {
case 1:
if (num_students == MAX_STUDENTS) {
printf("已经达到最大学生数,无法添加!\n");
} else {
printf("请输入学生姓名:\n");
scanf("%s", name);
printf("请输入学生学号:\n");
scanf("%d", &id);
printf("请输入学生成绩:\n");
scanf("%f", &score);
struct student new_student;
strcpy(new_student.name, name);
new_student.id = id;
new_student.score = score;
students[num_students++] = new_student;
printf("添加成功!\n");
}
break;
case 2:
printf("请输入要查找学生的学号:\n");
scanf("%d", &id);
for (int i = 0; i < num_students; i++) {
if (students[i].id == id) {
printf("学生姓名: %s\n", students[i].name);
printf("学生学号: %d\n", students[i].id);
printf("学生成绩: %.2f\n", students[i].score);
break;
}
if (i == num_students - 1) {
printf("未找到该学生!\n");
}
}
break;
case 3:
for (int i = 0; i < num_students; i++) {
printf("学生姓名: %s\n", students[i].name);
printf("学生学号: %d\n", students[i].id);
printf("学生成绩: %.2f\n", students[i].score);
printf("----------------\n");
}
break;
case 4:
printf("再见!\n");
break;
default:
printf("无效的操作!\n");
}
}
return 0;
}
```
运行结果:
```
请选择操作:
1. 添加学生
2. 查找学生
3. 显示所有学生
4. 退出
1
请输入学生姓名:
张三
请输入学生学号:
1001
请输入学生成绩:
90
添加成功!
请选择操作:
1. 添加学生
2. 查找学生
3. 显示所有学生
4. 退出
1
请输入学生姓名:
李四
请输入学生学号:
1002
请输入学生成绩:
80
添加成功!
请选择操作:
1. 添加学生
2. 查找学生
3. 显示所有学生
4. 退出
3
学生姓名: 张三
学生学号: 1001
学生成绩: 90.00
----------------
学生姓名: 李四
学生学号: 1002
学生成绩: 80.00
----------------
请选择操作:
1. 添加学生
2. 查找学生
3. 显示所有学生
4. 退出
2
请输入要查找学生的学号:
1001
学生姓名: 张三
学生学号: 1001
学生成绩: 90.00
请选择操作:
1. 添加学生
2. 查找学生
3. 显示所有学生
4. 退出
2
请输入要查找学生的学号:
1003
未找到该学生!
请选择操作:
1. 添加学生
2. 查找学生
3. 显示所有学生
4. 退出
4
再见!
```
阅读全文