c 学生成绩管理系统代码200行代码及其流程图
时间: 2023-12-13 18:04:02 浏览: 43
以下是一个简单的学生成绩管理系统代码,使用C语言编写,共200行代码左右。同时,也提供了相应的流程图以帮助您更好地理解系统的设计思路。
代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENT_NUM 1000 // 最大学生数
#define MAX_NAME_LEN 20 // 姓名最大长度
// 定义学生结构体
struct Student {
char name[MAX_NAME_LEN];
int id;
int score;
};
struct Student students[MAX_STUDENT_NUM]; // 学生数组
int student_num = 0; // 学生个数
// 添加学生信息
void add_student() {
if (student_num >= MAX_STUDENT_NUM) {
printf("学生人数已达到上限,无法继续添加!\n");
return;
}
struct Student s;
printf("请输入学生姓名:");
scanf("%s", s.name);
printf("请输入学生学号:");
scanf("%d", &s.id);
printf("请输入学生成绩:");
scanf("%d", &s.score);
students[student_num++] = s;
printf("添加成功!\n");
}
// 删除学生信息
void delete_student() {
int id;
printf("请输入要删除的学生学号:");
scanf("%d", &id);
int i, j;
for (i = 0; i < student_num; i++) {
if (students[i].id == id) {
for (j = i; j < student_num-1; j++) {
students[j] = students[j+1];
}
student_num--;
printf("删除成功!\n");
return;
}
}
printf("未找到该学生信息!\n");
}
// 修改学生信息
void modify_student() {
int id;
printf("请输入要修改的学生学号:");
scanf("%d", &id);
int i;
for (i = 0; i < student_num; i++) {
if (students[i].id == id) {
printf("请输入学生姓名:");
scanf("%s", students[i].name);
printf("请输入学生学号:");
scanf("%d", &students[i].id);
printf("请输入学生成绩:");
scanf("%d", &students[i].score);
printf("修改成功!\n");
return;
}
}
printf("未找到该学生信息!\n");
}
// 查询学生信息
void query_student() {
int id;
printf("请输入要查询的学生学号:");
scanf("%d", &id);
int i;
for (i = 0; i < student_num; i++) {
if (students[i].id == id) {
printf("姓名:%s 学号:%d 成绩:%d\n", students[i].name, students[i].id, students[i].score);
return;
}
}
printf("未找到该学生信息!\n");
}
// 输出所有学生信息
void print_students() {
int i;
printf("姓名\t学号\t成绩\n");
for (i = 0; i < student_num; i++) {
printf("%s\t%d\t%d\n", students[i].name, students[i].id, students[i].score);
}
}
int main() {
int choice;
while (1) {
printf("请选择要进行的操作:\n");
printf("1. 添加学生信息\n");
printf("2. 删除学生信息\n");
printf("3. 修改学生信息\n");
printf("4. 查询学生信息\n");
printf("5. 输出所有学生信息\n");
printf("6. 退出程序\n");
scanf("%d", &choice);
switch (choice) {
case 1:
add_student();
break;
case 2:
delete_student();
break;
case 3:
modify_student();
break;
case 4:
query_student();
break;
case 5:
print_students();
break;
case 6:
printf("谢谢使用,再见!\n");
return 0;
default:
printf("无效的选择,请重新输入!\n");
break;
}
}
return 0;
}
```
流程图:
![学生成绩管理系统流程图](https://i.imgur.com/vkYZOzj.png)
这个流程图展示了一个简单的学生成绩管理系统的设计流程。首先,用户可以选择需要进行的操作,例如添加学生信息、删除学生信息、修改学生信息、查询学生信息或者输出所有学生信息。接着,系统根据用户的选择,执行相应的操作,并输出相应的提示信息。
这个流程图只是一个简单的示例,实际的学生成绩管理系统可能会更加复杂,需要考虑更多的功能和细节。但是,通过这个流程图,您可以了解到学生成绩管理系统的基本设计思路,以及在开发过程中需要考虑的问题。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_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)