一、需求说明:
使用C实现一个学生信息管理系统,项目将从0开始,分模块实现一个完整的学生信息管理系统,功能会逐渐丰富。
二、开发工具
1. 项目使用Clion开发,支持在任何工具上开发运行
2. C版本为11
二、v0.0.1版本需求说明
1. 支持添加学生信息
2. 支持查看学生信息列表
三、功能实现
1. 定义一个学生结构体:Student
// 定义学生结构体
struct Student {
char name[50];
int age;
float grade;
};
2. 定义一个数组,保存学生信息,数组长度默认100
struct Student students[100];
3. 定义一个查看学生信息的方法
// 显示所有学生信息函数
void displayStudents(const struct Student *students, int count) {
printf("\n学生信息列表:\n");
printf("---------------------------------------------------\n");
printf("| %-20s | %-4s | %-5s |\n", "姓名", "年龄", "成绩");
printf("---------------------------------------------------\n");
for (int i = 0; i < count; i++) {
printf("| %-20s | %-4d | %-5.2f |\n", students[i].name, students[i].age, students[i].grade);
}
printf("---------------------------------------------------\n");
}
4. 定义一个添加学生信息的方法
// 添加学生信息函数
void addStudent(struct Student *students, int *count) {
printf("请输入学生姓名: ", *count);
scanf("%s", students[*count].name);
printf("请输入学生年龄: ");
scanf("%d", &students[*count].age);
printf("请输入学生成绩: ");
scanf("%f", &students[*count].grade);
(*count)++;
}
5. 定义一个显示功能菜单的方法
// 菜单
int showMenu() {
// 显示菜单
int choice = 0;
printf("\n学生信息管理系统\n");
printf("1. 添加学生信息\n");
printf("2. 显示所有学生信息\n");
printf("3. 退出\n");
printf("请选择操作: ");
scanf("%d", &choice);
return choice;
}
6. 定义执行菜单的方法
// 执行菜单功能
void executeMenu(int choice, int *studentCount, struct Student *students) {
printf("当前学生数量%d\n", *studentCount);
switch (choice) {
case 1:
// 添加学生信息
addStudent(students, studentCount);
break;
case 2:
// 显示所有学生信息
displayStudents(students, *studentCount);
break;
case 3:
// 退出程序
printf("感谢使用学生信息管理系统!\n");
break;
default:
printf("无效的选择,请重新输入。\n");
}
}
7. 定义main方法
int main() {
struct Student students[100]; // 最多支持100个学生
int studentCount = 0;
int choice;
do {
choice = showMenu();
executeMenu(choice, &studentCount, students);
} while (choice != 3);
return 0;
}
如需获取完整项目源码,点击下方公众号:小诸葛的博客,扫码关注后,在公众号内回复:C101
如有问题探讨,可以添加本人QQ:2370775541
8. 完整功能演示视频
如需获取完整项目源码,点击下方卡片,扫码关注微信公众号:小诸葛的博客,在公众号内回复:C101
如有问题探讨,可以添加本人QQ:2370775541