用C语言建立一个学籍管理系统
时间: 2024-05-13 12:16:01 浏览: 155
好的,以下是一个简单的学籍管理系统的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义学生结构体
typedef struct student {
char name[20]; // 学生姓名
int age; // 学生年龄
char gender[5]; // 学生性别
char major[20]; // 学生专业
char id[10]; // 学生学号
} Student;
// 显示菜单
void showMenu() {
printf("***************************\n");
printf(" 学籍管理系统\n");
printf("***************************\n");
printf("[1] 添加学生信息\n");
printf("[2] 删除学生信息\n");
printf("[3] 修改学生信息\n");
printf("[4] 查询学生信息\n");
printf("[5] 显示所有学生信息\n");
printf("[0] 退出系统\n");
printf("***************************\n");
}
// 添加学生信息
void addStudent(Student *students, int *count) {
printf("请输入学生姓名:");
scanf("%s", students[*count].name);
printf("请输入学生年龄:");
scanf("%d", &students[*count].age);
printf("请输入学生性别:");
scanf("%s", students[*count].gender);
printf("请输入学生专业:");
scanf("%s", students[*count].major);
printf("请输入学生学号:");
scanf("%s", students[*count].id);
(*count)++;
printf("添加学生信息成功!\n");
}
// 删除学生信息
void deleteStudent(Student *students, int *count) {
char id[10]; // 要删除的学号
int index = -1; // 要删除的学生在数组中的下标
printf("请输入要删除的学生的学号:");
scanf("%s", id);
for (int i = 0; i < *count; i++) {
if (strcmp(students[i].id, id) == 0) {
index = i;
break;
}
}
if (index == -1) {
printf("没有找到该学生!\n");
return;
}
for (int i = index; i < *count - 1; i++) {
students[i] = students[i + 1];
}
(*count)--;
printf("删除学生信息成功!\n");
}
// 修改学生信息
void modifyStudent(Student *students, int count) {
char id[10]; // 要修改的学号
int index = -1; // 要修改的学生在数组中的下标
printf("请输入要修改的学生的学号:");
scanf("%s", id);
for (int i = 0; i < count; i++) {
if (strcmp(students[i].id, id) == 0) {
index = i;
break;
}
}
if (index == -1) {
printf("没有找到该学生!\n");
return;
}
printf("请输入学生姓名:");
scanf("%s", students[index].name);
printf("请输入学生年龄:");
scanf("%d", &students[index].age);
printf("请输入学生性别:");
scanf("%s", students[index].gender);
printf("请输入学生专业:");
scanf("%s", students[index].major);
printf("修改学生信息成功!\n");
}
// 查询学生信息
void queryStudent(Student *students, int count) {
char id[10]; // 要查询的学号
int index = -1; // 要查询的学生在数组中的下标
printf("请输入要查询的学生的学号:");
scanf("%s", id);
for (int i = 0; i < count; i++) {
if (strcmp(students[i].id, id) == 0) {
index = i;
break;
}
}
if (index == -1) {
printf("没有找到该学生!\n");
return;
}
printf("姓名:%s\n", students[index].name);
printf("年龄:%d\n", students[index].age);
printf("性别:%s\n", students[index].gender);
printf("专业:%s\n", students[index].major);
printf("学号:%s\n", students[index].id);
}
// 显示所有学生信息
void showAllStudent(Student *students, int count) {
if (count == 0) {
printf("没有任何学生信息!\n");
return;
}
printf("所有学生信息如下:\n");
for (int i = 0; i < count; i++) {
printf("姓名:%s,年龄:%d,性别:%s,专业:%s,学号:%s\n",
students[i].name, students[i].age, students[i].gender, students[i].major, students[i].id);
}
}
int main() {
Student students[100]; // 最多存放100个学生信息
int count = 0; // 当前学生数量
int choice; // 用户选择的功能
while (1) {
showMenu(); // 显示菜单
printf("请输入功能编号:");
scanf("%d", &choice);
switch (choice) {
case 1:
addStudent(students, &count);
break;
case 2:
deleteStudent(students, &count);
break;
case 3:
modifyStudent(students, count);
break;
case 4:
queryStudent(students, count);
break;
case 5:
showAllStudent(students, count);
break;
case 0:
printf("谢谢使用!\n");
exit(0); // 退出程序
default:
printf("输入有误,请重新输入!\n");
break;
}
}
return 0;
}
```
这个学籍管理系统可以实现以下功能:
1. 添加学生信息
2. 删除学生信息
3. 修改学生信息
4. 查询学生信息
5. 显示所有学生信息
0. 退出系统
你可以根据自己的需要对这个代码进行修改和完善。
阅读全文