用c语言写一个学生成绩管理系统
时间: 2024-01-03 21:54:13 浏览: 23
下面给出一个简单的学生成绩管理系统的C语言代码,包含成绩录入、成绩查询、成绩统计等基本功能:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENT 100 // 最大学生数
typedef struct {
char name[20]; // 姓名
int math; // 数学成绩
int english; // 英语成绩
int physics; // 物理成绩
} Student;
int nStudent = 0; // 学生数
Student students[MAX_STUDENT]; // 学生数组
// 添加学生
void add_student() {
if (nStudent >= MAX_STUDENT) {
printf("学生数已满,无法添加新学生!\n");
return;
}
printf("请输入学生姓名:");
scanf("%s", students[nStudent].name);
printf("请输入学生数学成绩:");
scanf("%d", &students[nStudent].math);
printf("请输入学生英语成绩:");
scanf("%d", &students[nStudent].english);
printf("请输入学生物理成绩:");
scanf("%d", &students[nStudent].physics);
nStudent++;
printf("添加成功!\n");
}
// 查询学生
void query_student() {
char name[20];
printf("请输入要查询的学生姓名:");
scanf("%s", name);
for (int i = 0; i < nStudent; i++) {
if (strcmp(name, students[i].name) == 0) {
printf("姓名:%s,数学成绩:%d,英语成绩:%d,物理成绩:%d\n",
students[i].name, students[i].math, students[i].english, students[i].physics);
return;
}
}
printf("未找到该学生!\n");
}
// 统计平均成绩
void calc_average() {
int math_sum = 0, english_sum = 0, physics_sum = 0;
for (int i = 0; i < nStudent; i++) {
math_sum += students[i].math;
english_sum += students[i].english;
physics_sum += students[i].physics;
}
printf("平均数学成绩:%d,平均英语成绩:%d,平均物理成绩:%d\n",
math_sum / nStudent, english_sum / nStudent, physics_sum / nStudent);
}
// 主函数
int main() {
while (1) {
printf("学生成绩管理系统\n");
printf("1. 添加学生\n");
printf("2. 查询学生\n");
printf("3. 统计平均成绩\n");
printf("4. 退出程序\n");
printf("请选择操作:");
int choice;
scanf("%d", &choice);
switch (choice) {
case 1:
add_student();
break;
case 2:
query_student();
break;
case 3:
calc_average();
break;
case 4:
return 0;
default:
printf("无效的选择!\n");
break;
}
}
}
```
此代码仅供参考,实际开发中还需加入异常处理、数据存储等功能。