c语言简易定义一个课程结构体(成员有课程,名字,上课时间以及总课时数),往文件写入三个课程变量后,通过文件定位,读出第二门科目的信息。
时间: 2024-03-08 09:49:12 浏览: 68
C语言课设,关于学生选课管理系统,三大功能:管理学生,管理课程,管理选课,每大功能下有相应小功能,可以轻松上手,拿到就能用
好的,以下是定义课程结构体的示例代码:
```c
#include <stdio.h>
struct Course {
int id; // 课程编号
char name[20]; // 课程名称
char time[20]; // 上课时间
int total_hours; // 总课时数
};
```
然后,我们可以定义三个课程变量并往文件中写入:
```c
int main() {
FILE *fp;
struct Course course[3];
int i;
// 打开文件
fp = fopen("courses.txt", "wb");
// 往文件中写入三个课程变量
for (i = 0; i < 3; i++) {
printf("请输入第%d门课程的信息:\n", i+1);
printf("课程编号:");
scanf("%d", &course[i].id);
printf("课程名称:");
scanf("%s", course[i].name);
printf("上课时间:");
scanf("%s", course[i].time);
printf("总课时数:");
scanf("%d", &course[i].total_hours);
fwrite(&course[i], sizeof(struct Course), 1, fp);
}
// 关闭文件
fclose(fp);
return 0;
}
```
最后,我们可以通过文件定位,读取第二门科目的信息:
```c
int main() {
FILE *fp;
struct Course course;
int pos;
// 打开文件
fp = fopen("courses.txt", "rb");
// 定位到第二门课程
pos = 1 * sizeof(struct Course);
fseek(fp, pos, SEEK_SET);
// 读取第二门课程的信息
fread(&course, sizeof(struct Course), 1, fp);
// 输出第二门课程的信息
printf("第二门课程的信息:\n");
printf("课程编号:%d\n", course.id);
printf("课程名称:%s\n", course.name);
printf("上课时间:%s\n", course.time);
printf("总课时数:%d\n", course.total_hours);
// 关闭文件
fclose(fp);
return 0;
}
```
这样,我们就完成了定义课程结构体,并往文件写入三个课程变量后,通过文件定位,读出第二门科目的信息的任务。
阅读全文