怎么用c语言编程课程表

时间:2025-01-28 00:15:54 网络游戏

要用C语言编程实现一个课程表,你可以按照以下步骤进行:

定义数据结构

使用二维字符数组来存储课程表中的课程信息。

可以定义一个结构体来存储每门课程的时间、地点和课程名称。

实现菜单功能

编写一个菜单函数,提供显示课表、修改课表、保存课表和新建课表等功能选项。

实现课程输入和输出功能

编写函数来输入课程信息,并能够输出到文件或屏幕上。

文件操作

使用文件来存储和读取课程表数据。

```c

include

include

define MAX_COURSES 10

define MAX_TIME 10

typedef struct {

char courseName;

char time;

char location;

} Course;

Course courseTable[MAX_COURSES];

int courseCount = 0;

void menu() {

printf("课程表系统菜单\n");

printf("1. 显示课表\n");

printf("2. 修改课表\n");

printf("3. 保存课表\n");

printf("4. 新建课表\n");

printf("0. 退出\n");

int choice;

scanf("%d", &choice);

switch (choice) {

case 1:

printCourse();

break;

case 2:

modifyCourse();

break;

case 3:

saveCourse();

break;

case 4:

newCourse();

break;

case 0:

exit(0);

default:

printf("无效选择,请重新输入\n");

}

}

void printCourse() {

FILE *fp;

if ((fp = fopen("course.txt", "r")) == NULL) {

printf("无法打开文件\n");

exit(1);

}

printf("时间\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t星期日\n");

for (int i = 0; i < courseCount; i++) {

printf("%s\t", courseTable[i].time);

}

fclose(fp);

}

void newCourse() {

char name, time, location;

printf("请输入课程名称: ");

scanf("%s", name);

printf("请输入上课时间 (HH:MM): ");

scanf("%s", time);

printf("请输入上课地点: ");

scanf("%s", location);

if (courseCount < MAX_COURSES) {

strcpy(courseTable[courseCount].courseName, name);

strcpy(courseTable[courseCount].time, time);

strcpy(courseTable[courseCount].location, location);

courseCount++;

} else {

printf("课程表已满,无法添加新课程\n");

}

}

void modifyCourse() {

// 实现修改课程功能的代码

}

void saveCourse() {

FILE *fp;

if ((fp = fopen("course.txt", "w")) == NULL) {

printf("无法打开文件\n");

exit(1);

}

for (int i = 0; i < courseCount; i++) {

fprintf(fp, "%s\t", courseTable[i].time);

}

fclose(fp);

}

int main() {

menu();

return 0;

}

```

代码说明:

数据结构

`Course`结构体用于存储每门课程的信息,包括课程名称、时间和地点。

`courseTable`数组用于存储所有课程的信息。

菜单功能

`menu`函数提供用户选择不同功能的菜单。

课程输入和输出

`printCourse`函数用于读取课程表并输出到屏幕上。

`newCourse`函数用于添加新课程。

`modifyCourse`和`saveCourse`函数用于修改和保存课程表。

建议: