c语言学生成绩管理系统设计代码
时间: 2024-06-23 19:02:56 浏览: 118
C语言学生成绩管理系统课程设计
4星 · 用户满意度95%
在设计一个C语言学生成绩管理系统,我们需要考虑以下几个关键部分:用户界面、数据结构、输入验证和文件操作(如果要保存和读取成绩)。这里是一个简单的概念框架和代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义学生结构体
typedef struct {
char name[50];
int id;
float scores; // 假设最多5门课
} Student;
// 添加学生信息
void add_student(Student *students, int *num_students) {
printf("请输入学生姓名:");
fgets(students[*num_students].name, sizeof(students[*num_students].name), stdin);
printf("请输入学号:");
scanf("%d", &students[*num_students].id);
for (int i = 0; i < 5; i++) {
printf("请输入第%d门课的成绩:", i + 1);
scanf("%f", &students[*num_students].scores[i]);
}
(*num_students)++;
}
// 显示所有学生信息
void display_students(Student *students, int num_students) {
for (int i = 0; i < num_students; i++) {
printf("学生 %s (%d): ", students[i].name, students[i].id);
for (int j = 0; j < 5; j++) {
printf("%.2f ", students[i].scores[j]);
}
printf("\n");
}
}
int main() {
int num_students = 0;
Student students[100]; // 初始容量假设为100
while (1) {
int choice;
printf("请选择操作:\n1. 添加学生\n2. 查看所有学生\n3. 退出\n");
scanf("%d", &choice);
switch (choice) {
case 1:
add_student(&students, &num_students);
break;
case 2:
display_students(students, num_students);
break;
case 3:
printf("感谢使用!\n");
return 0;
default:
printf("无效选择,请重新输入。\n");
}
}
return 0;
}
```
阅读全文