用C语言编写课程设计班级学生成绩管理系统的代码
时间: 2023-07-29 11:07:17 浏览: 55
这是一个相对较为复杂的项目,需要考虑很多细节。在此给您提供一个简单的框架,供您参考。
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENT_NUM 100 // 学生数量上限
#define MAX_COURSE_NUM 10 // 课程数量上限
// 学生信息结构体
struct Student {
int id; // 学号
char name[20]; // 姓名
int score[MAX_COURSE_NUM]; // 成绩数组
};
// 初始化学生信息
void init_student_info(struct Student* student) {
printf("请输入学生学号:");
scanf("%d", &(student->id));
printf("请输入学生姓名:");
scanf("%s", student->name);
for (int i = 0; i < MAX_COURSE_NUM; i++) {
printf("请输入第%d门课程成绩:", i + 1);
scanf("%d", &(student->score[i]));
}
}
// 显示学生信息
void show_student_info(struct Student* student) {
printf("学号:%d,姓名:%s,成绩:", student->id, student->name);
for (int i = 0; i < MAX_COURSE_NUM; i++) {
printf("%d ", student->score[i]);
}
printf("\n");
}
// 主函数
int main() {
struct Student students[MAX_STUDENT_NUM];
int student_num = 0;
// 菜单循环
while (1) {
printf("请选择操作:\n");
printf("1. 添加学生信息\n");
printf("2. 查看学生信息\n");
printf("3. 退出程序\n");
int choice;
scanf("%d", &choice);
switch (choice) {
case 1: // 添加学生信息
if (student_num >= MAX_STUDENT_NUM) {
printf("学生数量达到上限,无法添加!\n");
} else {
struct Student new_student;
init_student_info(&new_student);
students[student_num] = new_student;
student_num++;
printf("添加成功!\n");
}
break;
case 2: // 查看学生信息
if (student_num == 0) {
printf("没有学生信息,无法查看!\n");
} else {
for (int i = 0; i < student_num; i++) {
printf("第%d个学生信息:\n", i + 1);
show_student_info(&students[i]);
}
}
break;
case 3: // 退出程序
printf("程序已退出!\n");
exit(0);
default:
printf("无效的选项!\n");
break;
}
}
return 0;
}
```
此代码中,定义了一个 `struct Student` 结构体,用于存储单个学生的信息,包括学号、姓名和成绩数组。通过 `init_student_info` 函数初始化学生信息,通过 `show_student_info` 函数显示学生信息。
主函数中使用了一个 `while` 循环作为菜单,通过 `scanf` 函数获取用户输入的操作选项,并调用相应的函数进行处理。其中,通过 `students` 数组存储所有学生的信息,并且通过 `student_num` 变量记录学生数量。
当然,这只是一个简单的框架,您需要根据实际情况进行更加详细的设计和实现。