如何用c语言写一个课程表
时间: 2024-10-04 19:04:40 浏览: 6
在C语言中编写一个简单的课程表程序可以分为几个步骤。首先,你需要创建一个数据结构来存储课程信息,比如课程名、教师和时间等。接着,你可以设计一个函数来表示课程表,并使用数组或链表来存储这些课程实例。
下面是一个简化的例子,我们将使用结构体和动态内存分配:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义课程结构体
typedef struct {
char course_name[50];
char teacher[50];
time_t start_time; // 使用time_t表示时间点
} Course;
// 功能:添加课程到课程表
void add_course(Course *course_table, int *courses_count, const char *course_name, const char *teacher, time_t start_time) {
Course new_course = {course_name, teacher, start_time};
*courses_count += 1;
*course_table = realloc(*course_table, (*courses_count) * sizeof(Course));
(*course_table)[*courses_count - 1] = new_course;
}
// 功能:打印课程表
void print_course_table(const Course *course_table, int courses_count) {
for (int i = 0; i < courses_count; i++) {
printf("课程 %d: %s - 教师:%s - 开始时间:%ld\n", i + 1, course_table[i].course_name, course_table[i].teacher, course_table[i].start_time);
}
}
int main() {
Course *course_table = NULL; // 初始时无课程
int courses_count = 0;
// 添加一些课程示例
add_course(&course_table, &courses_count, "计算机科学导论", "张老师", time(0)); // 假设现在是课程开始的时间
add_course(&course_table, &courses_count, "算法分析", "李教授", time(60*60)); // 一小时后的课程
// 打印课程表
print_course_table(course_table, courses_count);
return 0;
}
```
这个例子中,我们假设了课程表存储在一个动态数组中。实际项目中,你可能需要考虑更复杂的管理,例如删除课程或排序课程。