2023-2024-1 20231406 《计算机基础与程序设计》第十四周学习总结
作业信息
这个作业属于哪个课程 | 2023-2024-1-计算机基础与程序设计 |
---|---|
这个作业要求在哪里 | 2023-2024-1计算机基础与程序设计第十四周作业 |
这个作业的目标 | 自学《C语言程序设计》第13章并完成云班课测试 |
作业正文 | 本博客 |
教材学习内容总结
- C语言程序设计第13章
C语言程序设计第13章介绍了文件操作的相关内容
介绍了二进制文件和文本文件,文件的打开和关闭,按字符读写文件,按格式读写文件,按数据块读写文件
常用函数:fopen、fclose、fgetc、fputc、fgets、fputs;
教材学习中的问题和解决过程
- 问题:不太理解二进制文件和文本文件具体的区别
- 解决方案:在CSDN上查找
代码调试中的问题和解决过程
- 问题:对打开,读写文件的操作不太熟练
- 解决方案:仔细阅读教材,复习PPT相关内容
点击查看代码
void write(struct STU stu[],int n,const char *filename){
int sum[n];
for(int i=0;i<n;i++){
sum[i]=stu[i].mt+stu[i].en+stu[i].ph;
}
float ave[n];
for(int i=0;i<n;i++){
ave[i]=(float)sum[i]/3;
}
FILE *file=fopen(filename,"w");
if (file == NULL) {
printf("无法打开文件 %s\n", filename);
return;
}
for (int i = 0; i < n; i++){
fprintf(file, "%d %s %d %d %d %d %.2f\n", stu[i].xh, stu[i].name, stu[i].mt, stu[i].en, stu[i].ph,sum[i],ave[i]);
}
fclose(file);
}
void read(const char *filename) {
FILE *file = fopen(filename, "r");
if (file == NULL) {
printf("无法打开文件 %s\n", filename);
return;
}
int xh, mt, en, ph, sum;
float ave;
char name[50];
while (fscanf(file, "%d %s %d %d %d %d %f", &xh, name, &mt, &en, &ph, &sum, &ave) == 7) {
printf("%d %s %d %d %d %d %.2f\n", xh, name, mt, en, ph, sum, ave);
}
fclose(file);
}