编写一个学生信息管理系统,主要用来管理学生基本信息及成绩信息。系统功能模块如下图: 具体要求为: 1. 建立学生信息,每个学生的信息应包括:学号、姓名、性别、班级、至少3门课程的成绩; 2. 数据输入:输入学生的各项信息; 3. 数据修改:根据输入学生的学号可以选择修改该学生的信息; 4. 数据处理:可以选择处理方式为:排序、查询。其中: a) 排序:按学号排序 b) 查询:根据学号查询成绩 5. 数据输出:输出学生的相应结果信息; 6. 退出:退出整个学生信息管理系统。
时间: 2024-03-13 09:45:59 浏览: 28
好的,以下是一个简单的C语言示例代码,实现了你所描述的学生信息管理系统的功能模块。建议你可以先阅读代码,理解其结构和实现方式,然后再自己尝试编写一个。
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENT_NUM 100
typedef struct {
char id[20];
char name[20];
char gender[5];
char class[20];
float score[3];
} Student;
Student students[MAX_STUDENT_NUM];
int student_num = 0;
void print_menu() {
printf("学生信息管理系统\n");
printf("1. 建立学生信息\n");
printf("2. 数据输入\n");
printf("3. 数据修改\n");
printf("4. 数据处理\n");
printf("5. 数据输出\n");
printf("6. 退出\n");
}
void add_student() {
if (student_num >= MAX_STUDENT_NUM) {
printf("无法添加更多学生!\n");
return;
}
Student student;
printf("请输入学号:");
scanf("%s", student.id);
printf("请输入姓名:");
scanf("%s", student.name);
printf("请输入性别:");
scanf("%s", student.gender);
printf("请输入班级:");
scanf("%s", student.class);
printf("请输入3门课程的成绩:");
scanf("%f %f %f", &student.score[0], &student.score[1], &student.score[2]);
students[student_num++] = student;
printf("学生信息添加成功!\n");
}
void modify_student() {
char id[20];
printf("请输入要修改的学生的学号:");
scanf("%s", id);
int i;
for (i = 0; i < student_num; i++) {
if (strcmp(students[i].id, id) == 0) {
Student student;
printf("请输入学号:");
scanf("%s", student.id);
printf("请输入姓名:");
scanf("%s", student.name);
printf("请输入性别:");
scanf("%s", student.gender);
printf("请输入班级:");
scanf("%s", student.class);
printf("请输入3门课程的成绩:");
scanf("%f %f %f", &student.score[0], &student.score[1], &student.score[2]);
students[i] = student;
printf("学生信息修改成功!\n");
return;
}
}
printf("未找到该学生!\n");
}
void sort_students() {
int i, j;
for (i = 0; i < student_num - 1; i++) {
for (j = 0; j < student_num - i - 1; j++) {
if (strcmp(students[j].id, students[j+1].id) > 0) {
Student temp = students[j];
students[j] = students[j+1];
students[j+1] = temp;
}
}
}
printf("学生信息已按学号排序!\n");
}
void search_student() {
char id[20];
printf("请输入要查询的学生的学号:");
scanf("%s", id);
int i;
for (i = 0; i < student_num; i++) {
if (strcmp(students[i].id, id) == 0) {
printf("学号\t姓名\t性别\t班级\t成绩1\t成绩2\t成绩3\n");
printf("%s\t%s\t%s\t%s\t%.1f\t%.1f\t%.1f\n", students[i].id, students[i].name,
students[i].gender, students[i].class, students[i].score[0],
students[i].score[1], students[i].score[2]);
return;
}
}
printf("未找到该学生!\n");
}
void print_students() {
int i;
printf("学号\t姓名\t性别\t班级\t成绩1\t成绩2\t成绩3\n");
for (i = 0; i < student_num; i++) {
printf("%s\t%s\t%s\t%s\t%.1f\t%.1f\t%.1f\n", students[i].id, students[i].name,
students[i].gender, students[i].class, students[i].score[0],
students[i].score[1], students[i].score[2]);
}
}
int main() {
int choice;
while (1) {
print_menu();
printf("请输入选项:");
scanf("%d", &choice);
switch (choice) {
case 1:
add_student();
break;
case 2:
// 数据输入
break;
case 3:
modify_student();
break;
case 4:
printf("请选择数据处理方式:\n");
printf("1. 排序\n");
printf("2. 查询\n");
printf("请输入选项:");
scanf("%d", &choice);
switch (choice) {
case 1:
sort_students();
break;
case 2:
search_student();
break;
default:
printf("无效选项!\n");
break;
}
break;
case 5:
print_students();
break;
case 6:
printf("感谢使用学生信息管理系统,再见!\n");
exit(0);
default:
printf("无效选项!\n");
break;
}
}
return 0;
}
```
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)