1、文件“stu_info1.txt”包含学生的基本信息(姓名、学号、籍贯三项),现在需
要从该文件中读出信息,并依次为每位学生输入三门课程成绩,计算平均成绩,再将学生
完整信息(姓名、学号、籍贯、课程1、课程2、课程3、平均分)
写入文件“stu_info2.txt”
并保存于磁盘上。
c语言读出一个文档信息,输入其他信息,存入另一个文档
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- qfl_sdu 2021-06-08 19:25关注
stu_info1.txt文件的格式是什么样的?
代码如下,如有帮助,帮忙采纳一下,谢谢。
#include <stdio.h> #define MAXNMB 200 struct Student { char name[20]; //姓名 int id; //学号 char jg[100]; //籍贯 float score[3];//成绩 float avg; //平均成绩 }; int main() { FILE* fp; char buf[200] ={0}; Student st[MAXNMB]; int i,nmb = 0; //实际人数 if (!(fp = fopen("stu_info1.txt","r"))) { printf("文件打开失败\n"); return 0; } while(!feof(fp)) { fscanf(fp,"%s\t%d\t%s",st[nmb].name,&st[nmb].id,st[nmb].jg); nmb++; } fclose(fp); if (!(fp = fopen("stu_info2.txt","w"))) { printf("文件打开失败\n"); return 0; } //录入成绩 printf("请为每位学生输入3门课程的成绩\n"); for (i = 0;i < nmb;i++) { printf("%s的成绩:",st[i].name); scanf("%f %f %f",&st[i].score[0],&st[i].score[1],&st[i].score[2]); st[i].avg = (st[i].score[0]+st[i].score[1]+st[i].score[2])/3; fprintf(fp,"%s\t%d\t%s\t%f\t%f\t%f\t%f\n",st[i].name,st[i].id,st[i].jg,st[i].score[0],st[i].score[1],st[i].score[2],st[i].avg); } fclose(fp); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 9无用 2
悬赏问题
- ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
- ¥15 C#调用python代码(python带有库)
- ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
- ¥15 活动选择题。最多可以参加几个项目?
- ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
- ¥15 vs2019中数据导出问题
- ¥20 云服务Linux系统TCP-MSS值修改?
- ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
- ¥20 怎么在stm32门禁成品上增加查询记录功能
- ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面