C语言班级档案管理系统
时间: 2023-07-09 15:22:22 浏览: 48
班级档案管理系统是一个用于管理学生档案的应用程序,下面是一个简单的 C 语言班级档案管理系统的实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENTS 100
#define MAX_NAME_LEN 20
#define MAX_ID_LEN 10
// 学生结构体
typedef struct {
char id[MAX_ID_LEN]; // 学号
char name[MAX_NAME_LEN]; // 姓名
int age; // 年龄
char gender; // 性别
} Student;
// 学生数组
Student students[MAX_STUDENTS];
int num_students = 0;
// 添加学生
void add_student() {
if (num_students >= MAX_STUDENTS) {
printf("班级已满,无法添加学生。\n");
return;
}
printf("请输入学生的学号、姓名、年龄和性别:\n");
scanf("%s %s %d %c", students[num_students].id, students[num_students].name, &students[num_students].age, &students[num_students].gender);
num_students++;
printf("学生添加成功!\n");
}
// 删除学生
void delete_student() {
char id[MAX_ID_LEN];
printf("请输入要删除的学生的学号:\n");
scanf("%s", id);
for (int i = 0; i < num_students; i++) {
if (strcmp(students[i].id, id) == 0) {
// 找到要删除的学生
for (int j = i; j < num_students - 1; j++) {
// 将后面的学生数据向前移动
students[j] = students[j+1];
}
num_students--;
printf("学生删除成功!\n");
return;
}
}
printf("未找到该学生。\n");
}
// 查找学生
void search_student() {
char id[MAX_ID_LEN];
printf("请输入要查找的学生的学号:\n");
scanf("%s", id);
for (int i = 0; i < num_students; i++) {
if (strcmp(students[i].id, id) == 0) {
// 找到要查找的学生
printf("学号:%s\n姓名:%s\n年龄:%d\n性别:%c\n", students[i].id, students[i].name, students[i].age, students[i].gender);
return;
}
}
printf("未找到该学生。\n");
}
// 显示所有学生
void show_students() {
if (num_students == 0) {
printf("班级暂无学生。\n");
return;
}
printf("学号\t姓名\t年龄\t性别\n");
for (int i = 0; i < num_students; i++) {
printf("%s\t%s\t%d\t%c\n", students[i].id, students[i].name, students[i].age, students[i].gender);
}
}
// 主函数
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:
delete_student();
break;
case 3:
search_student();
break;
case 4:
show_students();
break;
case 5:
printf("程序已退出。\n");
exit(0);
break;
default:
printf("无效的选择,请重新输入。\n");
break;
}
}
return 0;
}
```
这个班级档案管理系统使用了一个 `Student` 结构体来存储学生的信息,包括学号、姓名、年龄和性别。在主函数中,使用一个无限循环来让用户不断选择要执行的操作,包括添加学生、删除学生、查找学生和显示所有学生。在每个操作中,用户需要输入相应的信息,例如学生的学号、姓名、年龄和性别等。最后,用户可以选择退出程序。