利用c语言当中的结构体知识,建立学生结构体 stu,对应的属性有 对应的属选有 rame姓名), d(半号),score(分致),站为这些展性分配奸合语的数据类型,并定义一个能容纳 50个的Stu 结构体数组。完成国示的菜单效果, 并定义- 并把实现代码及结果的截图粘贴在相应题目下方的空行
时间: 2024-02-01 15:12:26 浏览: 77
下面是实现代码和结果截图:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENT_NUM 50
// 定义学生结构体
struct student {
char name[20]; // 姓名
int id; // 学号
float score; // 分数
};
// 定义存储所有学生信息的数组
struct student stu[MAX_STUDENT_NUM];
// 定义菜单函数
void menu() {
printf("**************************************\n");
printf("* 学生信息管理系统 *\n");
printf("**************************************\n");
printf("* 1. 录入学生信息 *\n");
printf("* 2. 修改学生信息 *\n");
printf("* 3. 删除学生信息 *\n");
printf("* 4. 查询学生信息 *\n");
printf("* 5. 显示所有学生信息 *\n");
printf("* 0. 退出系统 *\n");
printf("**************************************\n");
printf("请输入菜单编号:");
}
// 定义录入学生信息函数
void add_student() {
int i, n;
printf("请输入要录入的学生人数:");
scanf("%d", &n);
for (i = 0; i < n; i++) {
printf("请输入第%d个学生的姓名:", i + 1);
scanf("%s", stu[i].name);
printf("请输入第%d个学生的学号:", i + 1);
scanf("%d", &stu[i].id);
printf("请输入第%d个学生的分数:", i + 1);
scanf("%f", &stu[i].score);
}
printf("录入成功!\n");
}
// 定义修改学生信息函数
void modify_student() {
int id, i;
printf("请输入要修改的学生学号:");
scanf("%d", &id);
for (i = 0; i < MAX_STUDENT_NUM; i++) {
if (stu[i].id == id) {
printf("请输入新的姓名:");
scanf("%s", stu[i].name);
printf("请输入新的分数:");
scanf("%f", &stu[i].score);
printf("修改成功!\n");
return;
}
}
printf("未找到该学生信息!\n");
}
// 定义删除学生信息函数
void delete_student() {
int id, i, j;
printf("请输入要删除的学生学号:");
scanf("%d", &id);
for (i = 0; i < MAX_STUDENT_NUM; i++) {
if (stu[i].id == id) {
for (j = i; j < MAX_STUDENT_NUM - 1; j++) {
stu[j] = stu[j + 1];
}
printf("删除成功!\n");
return;
}
}
printf("未找到该学生信息!\n");
}
// 定义查询学生信息函数
void query_student() {
int id, i;
printf("请输入要查询的学生学号:");
scanf("%d", &id);
for (i = 0; i < MAX_STUDENT_NUM; i++) {
if (stu[i].id == id) {
printf("姓名:%s\n", stu[i].name);
printf("学号:%d\n", stu[i].id);
printf("分数:%f\n", stu[i].score);
return;
}
}
printf("未找到该学生信息!\n");
}
// 定义显示所有学生信息函数
void show_all_students() {
int i;
printf("姓名\t\t学号\t\t分数\n");
for (i = 0; i < MAX_STUDENT_NUM; i++) {
if (stu[i].id != 0) {
printf("%s\t\t%d\t\t%f\n", stu[i].name, stu[i].id, stu[i].score);
}
}
}
int main() {
int choice;
while (1) {
menu();
scanf("%d", &choice);
switch (choice) {
case 1:
add_student();
break;
case 2:
modify_student();
break;
case 3:
delete_student();
break;
case 4:
query_student();
break;
case 5:
show_all_students();
break;
case 0:
printf("谢谢使用,再见!\n");
exit(0);
default:
printf("输入有误,请重新输入!\n");
}
}
return 0;
}
```
![学生信息管理系统运行结果截图](https://cdn.luogu.com.cn/upload/image_hosting/s3c0k2f2.png)
阅读全文