本项目是一个简易的课程管理系统,为了帮助用户管理大学课程信息。用户可以进行课程的添加、删除、查看、搜索和修改等操作。适用于初学者学习c语言,也适用于高校学生课程设计,毕业设计参考。
一,开发环境需求
-
操作系统:Windows, Linux
-
开发环境工具:QT, VSCode, Visual Studio
-
技术要求:
- 语言:C语言
- 文件操作:C语言标准库中的文件操作函数
- 数据结构:结构体
二,功能说明
三,功能实现
1. 查看课程
void listCourses() {
readCoursesFromFile(courses, &numCourses); // 从文件读取课程信息
printf("课程编号 课程名称 教师名称 上课时间 上课地点\n");
for (int i = 0; i < numCourses; i++) {
printf("%s %s %s %s %s\n",
courses[i].courseID, courses[i].courseName,
courses[i].teacherName, courses[i].courseTime,
courses[i].courseLocation);
}
}
2. 添加课程
void addCourse() {
printf("请输入课程编号:");
scanf("%s", courses[numCourses].courseID);
printf("请输入课程名称:");
scanf("%s", courses[numCourses].courseName);
printf("请输入教师名称:");
scanf("%s", courses[numCourses].teacherName);
printf("请输入上课时间:");
scanf("%s", courses[numCourses].courseTime);
printf("请输入上课地点:");
scanf("%s", courses[numCourses].courseLocation);
numCourses++;
saveCoursesToFile(courses, numCourses);
printf("课程已添加成功!\n");
}
3. 删除课程
void deleteCourse() {
char id[10];
printf("请输入要删除的课程编号:");
scanf("%s", id);
int index = -1;
for (int i = 0; i < numCourses; i++) {
if (strcmp(courses[i].courseID, id) == 0) {
index = i;
break;
}
}
if (index != -1) {
for (int i = index; i < numCourses - 1; i++) {
courses[i] = courses[i + 1];
}
numCourses--;
saveCoursesToFile(courses, numCourses);
printf("课程已删除成功!\n");
} else {
printf("未找到指定课程编号的课程。\n");
}
}
4. 搜索课程
void searchCourse() {
char name[50];
printf("请输入要搜索的课程名称:");
scanf("%s", name);
int found = 0;
for (int i = 0; i < numCourses; i++) {
if (strcmp(courses[i].courseName, name) == 0) {
printf("课程编号:%s\n", courses[i].courseID);
printf("课程名称:%s\n", courses[i].courseName);
printf("教师名称:%s\n", courses[i].teacherName);
printf("上课时间:%s\n", courses[i].courseTime);
printf("上课地点:%s\n", courses[i].courseLocation);
found = 1;
break;
}
}
if (!found) {
printf("找不到相关课程!\n");
}
}
5. 更新课程
void updateCourse() {
char id[10];
printf("请输入要更新的课程编号:");
scanf("%s", id);
int index = -1;
for (int i = 0; i < numCourses; i++) {
if (strcmp(courses[i].courseID, id) == 0) {
index = i;
break;
}
}
if (index != -1) {
printf("请输入新的课程名称:");
scanf("%s", courses[index].courseName);
printf("请输入新的教师名称:");
scanf("%s", courses[index].teacherName);
printf("请输入新的上课时间:");
scanf("%s", courses[index].courseTime);
printf("请输入新的上课地点:");
scanf("%s", courses[index].courseLocation);
saveCoursesToFile(courses, numCourses);
printf("课程信息已更新成功!\n");
} else {
printf("未找到指定课程编号的课程。\n");
}
}
四,效果图
五,源码
代码已开源,可访问gitee下载。
六,总结
本项目是一个基于C语言的简单课程管理系统,通过命令行交互,用户可以方便地对课程进行管理。尽管该项目比较简单,但它涵盖了文件操作、数据结构等基本的编程知识点,为进一步的学习和项目开发打下了基础。希望该项目能为您的学习和工作带来帮助。
七,声明
本项目大量使用AI编写,如有想法和疑问请联系作者