用C语言实现一个学生信息管理系统,学生基本信息包括学号、姓名、三门课成绩以及个人平均成绩,有不超过70个学生的数据,要求能够建立学生基本信息(结构体数组)、按学号查询学生基本信息、计算学生个人平均成绩...
时间: 2023-09-11 15:11:27 浏览: 90
好的,这是一个比较典型的学生信息管理系统,可以用C语言实现。以下是一个简单的代码示例,供参考:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义学生结构体
struct student {
int id; // 学号
char name[20]; // 姓名
int score1; // 第一门课成绩
int score2; // 第二门课成绩
int score3; // 第三门课成绩
float avg; // 平均成绩
};
// 定义学生结构体数组
struct student stu[70];
int count = 0; // 学生数
// 添加学生基本信息
void add_student() {
struct student s;
printf("请输入学生学号:");
scanf("%d", &s.id);
printf("请输入学生姓名:");
scanf("%s", s.name);
printf("请输入学生三门课成绩:");
scanf("%d %d %d", &s.score1, &s.score2, &s.score3);
s.avg = (s.score1 + s.score2 + s.score3) / 3.0;
stu[count++] = s;
printf("添加成功!\n");
}
// 按学号查询学生基本信息
void search_student() {
int id;
printf("请输入要查询的学生学号:");
scanf("%d", &id);
int i;
for (i = 0; i < count; i++) {
if (stu[i].id == id) {
printf("学号:%d,姓名:%s,三门课成绩:%d %d %d,平均成绩:%.2f\n", stu[i].id, stu[i].name, stu[i].score1, stu[i].score2, stu[i].score3, stu[i].avg);
return;
}
}
printf("未找到该学生!\n");
}
// 计算学生个人平均成绩
void calc_avg_score() {
int i;
for (i = 0; i < count; i++) {
stu[i].avg = (stu[i].score1 + stu[i].score2 + stu[i].score3) / 3.0;
}
printf("计算成功!\n");
}
// 主函数
int main() {
int choice;
while (1) {
printf("请选择操作:\n");
printf("1. 添加学生基本信息\n");
printf("2. 按学号查询学生基本信息\n");
printf("3. 计算学生个人平均成绩\n");
printf("4. 退出\n");
printf("请选择:");
scanf("%d", &choice);
switch (choice) {
case 1:
add_student();
break;
case 2:
search_student();
break;
case 3:
calc_avg_score();
break;
case 4:
printf("谢谢使用!\n");
exit(0);
default:
printf("输入错误,请重新输入!\n");
break;
}
}
return 0;
}
```
注意,在实际开发中,还需要考虑很多其他因素,比如输入的合法性检查、数据的存储方式等等,这里只是一个简单的示例。
阅读全文