c语言代码实现课程信息包括:课程编号、课程名称、课程性质、学分、开课学期等信息,设计一个课程信息管理系统,提供以下功能: 系统以菜单方式工作。 输入记录:课程信息录入功能。 查询记录:用户可以按课程名或者课程性质进行查询。 更新记录:对课程信息进行修改、删除、插入操作。 统计记录:对学期课程总学分进行统计。 输出记录:实现对记录的存盘操作,实现将存储记录以表格的形式在屏幕上打
时间: 2024-03-16 10:43:17 浏览: 17
好的,以下是一个简单的课程信息管理系统的C语言代码实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_COURSES 100 // 最大可存储的课程数目
// 课程信息结构体
struct Course {
int id; // 课程编号
char name[20]; // 课程名称
char property[10]; // 课程性质
float credit; // 学分
char semester[10]; // 开课学期
};
struct Course courses[MAX_COURSES]; // 存储所有课程信息的数组
int num_courses = 0; // 当前存储的课程数目
// 函数声明
void menu();
void add_course();
void search_course();
void update_course();
void delete_course();
void print_courses();
int main() {
menu();
return 0;
}
// 打印菜单
void menu() {
int choice;
do {
printf("\n-------- 课程信息管理系统 --------\n");
printf("1. 输入记录\n");
printf("2. 查询记录\n");
printf("3. 更新记录\n");
printf("4. 删除记录\n");
printf("5. 统计记录\n");
printf("6. 输出记录\n");
printf("0. 退出系统\n");
printf("-----------------------------------\n");
printf("请输入您的选择:");
scanf("%d", &choice);
switch (choice) {
case 1:
add_course();
break;
case 2:
search_course();
break;
case 3:
update_course();
break;
case 4:
delete_course();
break;
case 5:
// 统计记录
break;
case 6:
print_courses();
break;
case 0:
printf("谢谢使用课程信息管理系统!\n");
break;
default:
printf("无效的选择,请重新输入!\n");
break;
}
} while (choice != 0);
}
// 输入记录
void add_course() {
if (num_courses == MAX_COURSES) {
printf("存储空间已满,无法添加新的课程信息!\n");
return;
}
printf("请输入课程编号:");
scanf("%d", &courses[num_courses].id);
printf("请输入课程名称:");
scanf("%s", courses[num_courses].name);
printf("请输入课程性质:");
scanf("%s", courses[num_courses].property);
printf("请输入学分:");
scanf("%f", &courses[num_courses].credit);
printf("请输入开课学期:");
scanf("%s", courses[num_courses].semester);
num_courses++;
printf("课程信息已添加成功!\n");
}
// 查询记录
void search_course() {
int choice;
printf("请选择查询方式:\n");
printf("1. 按课程名称查询\n");
printf("2. 按课程性质查询\n");
scanf("%d", &choice);
switch (choice) {
case 1:
printf("请输入要查询的课程名称:");
char name[20];
scanf("%s", name);
for (int i = 0; i < num_courses; i++) {
if (strcmp(courses[i].name, name) == 0) {
printf("课程编号:%d\t课程名称:%s\t课程性质:%s\t学分:%.1f\t开课学期:%s\n",
courses[i].id, courses[i].name, courses[i].property, courses[i].credit, courses[i].semester);
}
}
break;
case 2:
printf("请输入要查询的课程性质:");
char property[10];
scanf("%s", property);
for (int i = 0; i < num_courses; i++) {
if (strcmp(courses[i].property, property) == 0) {
printf("课程编号:%d\t课程名称:%s\t课程性质:%s\t学分:%.1f\t开课学期:%s\n",
courses[i].id, courses[i].name, courses[i].property, courses[i].credit, courses[i].semester);
}
}
break;
default:
printf("无效的选择,请重新输入!\n");
break;
}
}
// 更新记录
void update_course() {
int id;
printf("请输入要更新的课程编号:");
scanf("%d", &id);
int i;
for (i = 0; i < num_courses; i++) {
if (courses[i].id == id) {
printf("请输入新的课程名称:");
scanf("%s", courses[i].name);
printf("请输入新的课程性质:");
scanf("%s", courses[i].property);
printf("请输入新的学分:");
scanf("%f", &courses[i].credit);
printf("请输入新的开课学期:");
scanf("%s", courses[i].semester);
printf("课程信息已更新成功!\n");
break;
}
}
if (i == num_courses) {
printf("未找到课程编号为 %d 的课程信息!\n", id);
}
}
// 删除记录
void delete_course() {
int id;
printf("请输入要删除的课程编号:");
scanf("%d", &id);
int i;
for (i = 0; i < num_courses; i++) {
if (courses[i].id == id) {
for (int j = i; j < num_courses - 1; j++) {
courses[j] = courses[j + 1];
}
num_courses--;
printf("课程信息已删除成功!\n");
break;
}
}
if (i == num_courses) {
printf("未找到课程编号为 %d 的课程信息!\n", id);
}
}
// 输出记录
void print_courses() {
printf("课程编号\t课程名称\t课程性质\t学分\t开课学期\n");
for (int i = 0; i < num_courses; i++) {
printf("%d\t\t%s\t\t%s\t\t%.1f\t%s\n", courses[i].id, courses[i].name,
courses[i].property, courses[i].credit, courses[i].semester);
}
}
```
这段代码实现了一个简单的课程信息管理系统,通过菜单提供了输入、查询、更新、删除、输出等功能。你可以根据需要进行修改和完善。