#$%&@~* 2021-06-08 19:23 采纳率: 100%
浏览 1005
已采纳

c语言读出一个文档信息,输入其他信息,存入另一个文档

1、文件“stu_info1.txt”包含学生的基本信息(姓名、学号、籍贯三项),现在需
要从该文件中读出信息,并依次为每位学生输入三门课程成绩,计算平均成绩,再将学生
完整信息(姓名、学号、籍贯、课程1、课程2、课程3、平均分)
写入文件“stu_info2.txt”
并保存于磁盘上。

  • 写回答

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;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 plotBAPC画图出错
  • ¥30 关于#opencv#的问题:使用大疆无人机拍摄水稻田间图像,拼接成tif图片,用什么方法可以识别并框选出水稻作物行
  • ¥15 Python卡尔曼滤波融合
  • ¥20 iOS绕地区网络检测
  • ¥15 python验证码滑块图像识别
  • ¥15 根据背景及设计要求撰写设计报告
  • ¥20 能提供一下思路或者代码吗
  • ¥15 用twincat控制!
  • ¥15 请问一下这个运行结果是怎么来的
  • ¥15 单通道放大电路的工作原理