写一个学生信息管理系统代码用c语言完成记得加上注释。
时间: 2024-03-14 21:45:45 浏览: 61
好的,下面是一个简单的学生信息管理系统的 C 语言代码,包含注释。其中包括了添加学生信息、查找学生信息、删除学生信息、显示所有学生信息等功能。
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENTS 100 // 最大学生数
// 定义学生结构体
typedef struct student {
char name[20]; // 学生姓名
int age; // 学生年龄
char gender; // 学生性别
int id; // 学生学号
} Student;
// 学生信息数组
Student students[MAX_STUDENTS];
// 学生数量
int num_students = 0;
// 添加学生信息
void add_student() {
// 如果学生数量已经达到最大值,则无法再添加学生
if (num_students == MAX_STUDENTS) {
printf("已达到最大学生数,无法添加!\n");
return;
}
printf("请输入学生姓名:");
scanf("%s", students[num_students].name);
printf("请输入学生年龄:");
scanf("%d", &students[num_students].age);
printf("请输入学生性别(M/F):");
scanf(" %c", &students[num_students].gender);
printf("请输入学生学号:");
scanf("%d", &students[num_students].id);
printf("学生信息添加成功!\n");
// 学生数量加一
num_students++;
}
// 查找学生信息
void search_student() {
int id;
int i;
printf("请输入要查找的学生学号:");
scanf("%d", &id);
// 遍历学生数组,查找对应学号的学生
for (i = 0; i < num_students; i++) {
if (students[i].id == id) {
printf("学生姓名:%s\n", students[i].name);
printf("学生年龄:%d\n", students[i].age);
printf("学生性别:%c\n", students[i].gender);
printf("学生学号:%d\n", students[i].id);
return; // 找到学生后直接返回
}
}
// 如果遍历完数组还没有找到,则说明该学生不存在
printf("该学生不存在!\n");
}
// 删除学生信息
void delete_student() {
int id;
int i;
printf("请输入要删除的学生学号:");
scanf("%d", &id);
// 遍历学生数组,找到对应学号的学生并删除
for (i = 0; i < num_students; i++) {
if (students[i].id == id) {
// 将后面的学生信息依次往前移动,覆盖当前学生信息
memmove(&students[i], &students[i+1], sizeof(Student) * (num_students - i - 1));
printf("学生信息删除成功!\n");
// 学生数量减一
num_students--;
return; // 删除学生后直接返回
}
}
// 如果遍历完数组还没有找到,则说明该学生不存在
printf("该学生不存在!\n");
}
// 显示所有学生信息
void display_students() {
int i;
// 遍历学生数组,逐个输出学生信息
for (i = 0; i < num_students; i++) {
printf("学生姓名:%s\n", students[i].name);
printf("学生年龄:%d\n", students[i].age);
printf("学生性别:%c\n", students[i].gender);
printf("学生学号:%d\n", students[i].id);
printf("\n");
}
}
// 主函数
int main() {
int choice;
while (1) {
// 输出菜单
printf("请选择要进行的操作:\n");
printf("1. 添加学生信息\n");
printf("2. 查找学生信息\n");
printf("3. 删除学生信息\n");
printf("4. 显示所有学生信息\n");
printf("5. 退出程序\n");
scanf("%d", &choice);
switch (choice) {
case 1:
add_student();
break;
case 2:
search_student();
break;
case 3:
delete_student();
break;
case 4:
display_students();
break;
case 5:
exit(0); // 退出程序
default:
printf("输入有误,请重新输入!\n");
break;
}
}
return 0;
}
```
以上是一个简单的学生信息管理系统的 C 语言代码,具体实现可以根据需要进行修改和优化。
阅读全文