用最简洁的c语言设计一个学生成绩管理系统
时间: 2023-12-17 18:05:09 浏览: 49
好的,下面是一个简单的学生成绩管理系统的C语言代码:
```c
#include <stdio.h>
#define MAX_STUDENTS 100
struct Student {
char name[50];
int score;
};
int main() {
struct Student students[MAX_STUDENTS];
int numStudents = 0;
while (1) {
printf("1. 添加学生\n");
printf("2. 删除学生\n");
printf("3. 修改学生成绩\n");
printf("4. 查看所有学生信息\n");
printf("5. 退出\n");
printf("请选择操作:");
int choice;
scanf("%d", &choice);
if (choice == 1) {
if (numStudents == MAX_STUDENTS) {
printf("学生信息已满,无法添加!\n");
} else {
printf("请输入学生姓名:");
scanf("%s", students[numStudents].name);
printf("请输入学生成绩:");
scanf("%d", &students[numStudents].score);
numStudents++;
printf("添加成功!\n");
}
} else if (choice == 2) {
printf("请输入要删除的学生姓名:");
char name[50];
scanf("%s", name);
int found = 0;
for (int i = 0; i < numStudents; i++) {
if (strcmp(students[i].name, name) == 0) {
found = 1;
for (int j = i; j < numStudents - 1; j++) {
strcpy(students[j].name, students[j + 1].name);
students[j].score = students[j + 1].score;
}
numStudents--;
printf("删除成功!\n");
break;
}
}
if (!found) {
printf("未找到该学生!\n");
}
} else if (choice == 3) {
printf("请输入要修改成绩的学生姓名:");
char name[50];
scanf("%s", name);
int found = 0;
for (int i = 0; i < numStudents; i++) {
if (strcmp(students[i].name, name) == 0) {
found = 1;
printf("请输入新的成绩:");
scanf("%d", &students[i].score);
printf("修改成功!\n");
break;
}
}
if (!found) {
printf("未找到该学生!\n");
}
} else if (choice == 4) {
printf("学生信息如下:\n");
for (int i = 0; i < numStudents; i++) {
printf("%s\t%d\n", students[i].name, students[i].score);
}
} else if (choice == 5) {
printf("谢谢使用!\n");
break;
} else {
printf("无效的操作!\n");
}
}
return 0;
}
```
这个程序使用结构体存储学生姓名和成绩,提供添加、删除、修改和查看学生信息的功能。