请编写一个c语言的课程信息管理系统,可以进行信息录入,排序,展示
时间: 2023-06-20 19:05:59 浏览: 69
以下是一个简单的C语言课程信息管理系统的代码示例,可以进行信息录入、排序和展示。
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义课程信息结构体
typedef struct {
char name[20]; // 课程名称
char teacher[20]; // 授课教师
int credit; // 学分
} Course;
// 定义全局变量
Course courses[50]; // 最多存储50个课程信息
int count = 0; // 记录已经录入的课程数量
// 声明函数
void addCourse();
void sortCourses();
void showCourses();
int main()
{
int choice;
do {
printf("请选择操作:\n");
printf("1. 录入课程信息\n");
printf("2. 排序课程信息\n");
printf("3. 展示课程信息\n");
printf("4. 退出系统\n");
scanf("%d", &choice);
switch (choice) {
case 1:
addCourse();
break;
case 2:
sortCourses();
break;
case 3:
showCourses();
break;
case 4:
printf("谢谢使用!\n");
break;
default:
printf("输入错误!\n");
break;
}
} while (choice != 4);
return 0;
}
// 添加课程信息
void addCourse() {
Course course;
printf("请输入课程名称:");
scanf("%s", course.name);
printf("请输入授课教师:");
scanf("%s", course.teacher);
printf("请输入学分:");
scanf("%d", &course.credit);
courses[count++] = course; // 将课程信息添加到数组中
printf("添加成功!\n");
}
// 按照学分排序课程信息
void sortCourses() {
Course temp;
for (int i = 0; i < count - 1; i++) {
for (int j = 0; j < count - i - 1; j++) {
if (courses[j].credit > courses[j+1].credit) {
temp = courses[j];
courses[j] = courses[j+1];
courses[j+1] = temp;
}
}
}
printf("排序成功!\n");
}
// 展示所有课程信息
void showCourses() {
printf("课程名称\t授课教师\t学分\n");
for (int i = 0; i < count; i++) {
printf("%s\t\t%s\t\t%d\n", courses[i].name, courses[i].teacher, courses[i].credit);
}
}
```
这个系统使用了结构体来存储课程信息,使用了全局变量来记录已经录入的课程数量和一个数组来存储课程信息。在主函数中,使用一个循环来让用户选择操作,根据用户的输入调用相应的函数。其中,添加课程信息的函数使用了scanf函数来获取用户的输入,排序函数使用了冒泡排序算法,展示函数使用了for循环来遍历数组并打印每个课程的信息。
阅读全文