帮我用C语言做一个学生成绩管理系统
时间: 2024-08-13 09:07:57 浏览: 52
好的,我可以帮你设计一个简单的学生成绩管理系统的框架。这个系统主要包含学生信息的添加、查询、修改和删除功能,以及成绩的录入、查询和统计。我们将使用结构体来表示学生,数组或链表来存储学生信息。
```c
#include <stdio.h>
#include <string.h>
// 定义学生结构体
typedef struct {
char name[50];
int id;
float score; // 假设这里有三科成绩
} Student;
// 学生操作函数
void addStudent(Student* students, int* count) {
printf("请输入学生姓名(不超过50个字符):");
fgets(students[*count].name, sizeof(students[*count].name), stdin);
students[*count].id = ++(*count);
printf("请输入学生三科成绩:\n");
for (int i = 0; i < 3; i++) {
scanf("%f", &students[*count].score[i]);
}
}
void searchStudent(const Student* students, int count) {
int id;
printf("请输入学生ID查询成绩:");
scanf("%d", &id);
for (int i = 0; i < count; i++) {
if (students[i].id == id) {
printf("姓名:%s, 成绩:%0.2f %0.2f %0.2f\n",
students[i].name, students[i].score, students[i].score, students[i].score);
break;
}
}
}
// 其他操作(如修改和删除)可以参考以上两个函数的结构编写
int main() {
int studentCount = 0;
Student students[100]; // 假设最多有100名学生
char option;
while (1) {
printf("\n1. 添加学生\n2. 查询学生\n3. 退出\n");
scanf("%c", &option);
switch(option) {
case '1':
addStudent(students, &studentCount);
break;
case '2':
searchStudent(students, studentCount);
break;
case '3':
printf("程序已退出。\n");
return 0;
default:
printf("无效选项,请重新选择。\n");
break;
}
}
}
```
阅读全文