用C语言写一个简易的课程管理系统,功能有添加课程,删除课程,输出所有课程,课程信息只有课程名,在添加课程之后可以选择继续添加和返回上一级,添加课程需要判断该课程是否已存在,存在则添加失败,删除课程需要判断该课程是否存在,不存在则删除失败,同时需要对该程序增加详细的注释信息
时间: 2024-03-24 09:41:42 浏览: 40
C语言课设,关于学生选课管理系统,三大功能:管理学生,管理课程,管理选课,每大功能下有相应小功能,可以轻松上手,拿到就能用
好的,这是一个简易的课程管理系统,主要涉及到添加课程,删除课程和输出所有课程等功能。下面是代码实现及详细注释:
```c
#include <stdio.h>
#include <string.h>
// 定义课程结构体
struct Course {
char name[20]; // 课程名
};
// 定义全局变量,存储所有课程
struct Course courses[20];
int courseCount = 0; // 课程数量
// 添加课程
void addCourse() {
char name[20];
printf("请输入课程名:");
scanf("%s", name);
int i;
// 判断课程是否已存在
for (i = 0; i < courseCount; i++) {
if (strcmp(courses[i].name, name) == 0) {
printf("该课程已存在!\n");
return;
}
}
// 课程不存在,添加课程
struct Course course;
strcpy(course.name, name);
courses[courseCount++] = course;
printf("添加成功!\n");
printf("1. 继续添加\n");
printf("2. 返回上级\n");
printf("请选择:");
int choice;
scanf("%d", &choice);
if (choice == 1) {
addCourse();
} else {
return;
}
}
// 删除课程
void deleteCourse() {
char name[20];
printf("请输入要删除的课程名:");
scanf("%s", name);
int i;
// 判断课程是否存在
for (i = 0; i < courseCount; i++) {
if (strcmp(courses[i].name, name) == 0) {
// 课程存在,删除课程
int j;
for (j = i; j < courseCount - 1; j++) {
courses[j] = courses[j + 1];
}
courseCount--;
printf("删除成功!\n");
return;
}
}
// 课程不存在,删除失败
printf("该课程不存在!\n");
}
// 输出所有课程
void showCourses() {
int i;
printf("所有课程:\n");
for (i = 0; i < courseCount; i++) {
printf("%s\n", courses[i].name);
}
}
int main() {
int choice;
while (1) {
printf("1. 添加课程\n");
printf("2. 删除课程\n");
printf("3. 输出所有课程\n");
printf("4. 退出\n");
printf("请选择:");
scanf("%d", &choice);
switch (choice) {
case 1:
addCourse();
break;
case 2:
deleteCourse();
break;
case 3:
showCourses();
break;
case 4:
return 0;
default:
printf("选择无效!\n");
break;
}
}
}
```
注释如下:
```
#include <stdio.h>
#include <string.h>
// 定义课程结构体
struct Course {
char name[20]; // 课程名
};
// 定义全局变量,存储所有课程
struct Course courses[20];
int courseCount = 0; // 课程数量
// 添加课程
void addCourse() {
char name[20];
printf("请输入课程名:");
scanf("%s", name);
int i;
// 判断课程是否已存在
for (i = 0; i < courseCount; i++) {
if (strcmp(courses[i].name, name) == 0) {
printf("该课程已存在!\n");
return;
}
}
// 课程不存在,添加课程
struct Course course;
strcpy(course.name, name);
courses[courseCount++] = course;
printf("添加成功!\n");
printf("1. 继续添加\n");
printf("2. 返回上级\n");
printf("请选择:");
int choice;
scanf("%d", &choice);
if (choice == 1) {
addCourse();
} else {
return;
}
}
// 删除课程
void deleteCourse() {
char name[20];
printf("请输入要删除的课程名:");
scanf("%s", name);
int i;
// 判断课程是否存在
for (i = 0; i < courseCount; i++) {
if (strcmp(courses[i].name, name) == 0) {
// 课程存在,删除课程
int j;
for (j = i; j < courseCount - 1; j++) {
courses[j] = courses[j + 1];
}
courseCount--;
printf("删除成功!\n");
return;
}
}
// 课程不存在,删除失败
printf("该课程不存在!\n");
}
// 输出所有课程
void showCourses() {
int i;
printf("所有课程:\n");
for (i = 0; i < courseCount; i++) {
printf("%s\n", courses[i].name);
}
}
int main() {
int choice;
while (1) {
printf("1. 添加课程\n");
printf("2. 删除课程\n");
printf("3. 输出所有课程\n");
printf("4. 退出\n");
printf("请选择:");
scanf("%d", &choice);
switch (choice) {
case 1:
addCourse();
break;
case 2:
deleteCourse();
break;
case 3:
showCourses();
break;
case 4:
return 0;
default:
printf("选择无效!\n");
break;
}
}
}
```
阅读全文