学生成绩管理系统C语言代码
时间: 2023-08-18 15:39:38 浏览: 56
好的,以下是一个带有查阅学生信息功能的学生成绩管理系统的C语言代码,供您参考:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENTS 100 // 学生数量的最大值
#define MAX_NAME_LEN 50 // 学生姓名的最大长度
// 定义学生结构体
typedef struct {
char name[MAX_NAME_LEN];
int score;
} Student;
// 定义全局变量
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++;
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++) {
strcpy(students[j].name, students[j + 1].name);
students[j].score = students[j + 1].score;
}
num_students--;
printf("删除成功!\n");
return;
}
}
printf("找不到该学生!\n");
}
// 查阅学生信息
void search_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("学生姓名\t成绩\n");
printf("%s\t\t%d\n", students[i].name, students[i].score);
return;
}
}
printf("找不到该学生!\n");
}
// 显示所有学生信息
void show_students() {
printf("学生姓名\t成绩\n");
for (int i = 0; i < num_students; i++) {
printf("%s\t\t%d\n", students[i].name, students[i].score);
}
}
// 主函数
int main() {
int choice;
while (1) {
printf("请选择操作:\n");
printf("1. 添加学生信息\n");
printf("2. 删除学生信息\n");
printf("3. 查阅学生信息\n");
printf("4. 显示所有学生信息\n");
printf("5. 退出\n");
scanf("%d", &choice);
switch (choice) {
case 1:
add_student();
break;
case 2:
delete_student();
break;
case 3:
search_student();
break;
case 4:
show_students();
break;
case 5:
printf("谢谢使用!\n");
exit(0);
default:
printf("无效的操作!\n");
break;
}
}
}
```
这段代码实现了一个带有查阅学生信息功能的学生成绩管理系统,包括添加学生信息、删除学生信息、查阅学生信息和显示所有学生信息四个功能。您可以根据需求进行修改和扩展。