用c语言写班级成绩管理系统
时间: 2023-09-10 13:08:32 浏览: 89
好的,班级成绩管理系统可以包括以下功能:
1. 输入学生信息和成绩
2. 查看某个学生的成绩
3. 查看整个班级的成绩排名
4. 修改学生的成绩信息
5. 删除某个学生的成绩信息
下面是一个用C语言实现班级成绩管理系统的简单例子:
```c
#include <stdio.h>
#include <string.h>
#define MAX_STUDENTS 50
#define MAX_NAME_LEN 50
struct Student {
char name[MAX_NAME_LEN];
int score;
};
struct Student students[MAX_STUDENTS];
int num_students = 0;
void add_student() {
if (num_students >= MAX_STUDENTS) {
printf("班级人数已满,无法添加学生!\n");
return;
}
printf("请输入学生姓名和成绩,用空格分隔:\n");
scanf("%s %d", students[num_students].name, &students[num_students].score);
num_students++;
}
void view_student() {
char name[MAX_NAME_LEN];
printf("请输入要查看的学生姓名:\n");
scanf("%s", name);
for (int i = 0; i < num_students; i++) {
if (strcmp(students[i].name, name) == 0) {
printf("%s的成绩是:%d\n", students[i].name, students[i].score);
return;
}
}
printf("没有找到该学生!\n");
}
void view_ranking() {
struct Student temp;
for (int i = 0; i < num_students; i++) {
for (int j = i + 1; j < num_students; j++) {
if (students[i].score < students[j].score) {
temp = students[i];
students[i] = students[j];
students[j] = temp;
}
}
}
printf("班级成绩排名如下:\n");
for (int i = 0; i < num_students; i++) {
printf("%s:%d\n", students[i].name, students[i].score);
}
}
void modify_student() {
char name[MAX_NAME_LEN];
printf("请输入要修改的学生姓名:\n");
scanf("%s", name);
for (int i = 0; i < num_students; i++) {
if (strcmp(students[i].name, name) == 0) {
printf("请输入修改后的成绩:\n");
scanf("%d", &students[i].score);
printf("修改成功!\n");
return;
}
}
printf("没有找到该学生!\n");
}
void delete_student() {
char name[MAX_NAME_LEN];
printf("请输入要删除的学生姓名:\n");
scanf("%s", name);
for (int i = 0; i < num_students; i++) {
if (strcmp(students[i].name, name) == 0) {
for (int j = i; j < num_students - 1; j++) {
students[j] = students[j + 1];
}
num_students--;
printf("删除成功!\n");
return;
}
}
printf("没有找到该学生!\n");
}
int main() {
int choice;
while (1) {
printf("请选择要执行的操作:\n");
printf("1. 添加学生\n");
printf("2. 查看学生成绩\n");
printf("3. 查看班级成绩排名\n");
printf("4. 修改学生成绩\n");
printf("5. 删除学生成绩\n");
printf("6. 退出程序\n");
scanf("%d", &choice);
switch (choice) {
case 1:
add_student();
break;
case 2:
view_student();
break;
case 3:
view_ranking();
break;
case 4:
modify_student();
break;
case 5:
delete_student();
break;
case 6:
printf("谢谢使用!\n");
return 0;
default:
printf("无效的选择,请重新输入!\n");
break;
}
}
}
```
这个例子中,我们定义了一个结构体 `Student` 表示学生的姓名和成绩,使用数组 `students` 存储所有学生的信息。然后,我们实现了各种功能的函数,例如 `add_student` 添加学生信息、`view_student` 查看单个学生的成绩、`view_ranking` 查看整个班级的成绩排名等等。在 `main` 函数中,我们使用了一个循环来不断接收用户的选择,然后调用相应的函数来执行操作。
阅读全文