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

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条)

报告相同问题?

悬赏问题

  • ¥50 求解vmware的网络模式问题
  • ¥24 EFS加密后,在同一台电脑解密出错,证书界面找不到对应指纹的证书,未备份证书,求在原电脑解密的方法,可行即采纳
  • ¥15 springboot 3.0 实现Security 6.x版本集成
  • ¥15 PHP-8.1 镜像无法用dockerfile里的CMD命令启动 只能进入容器启动,如何解决?(操作系统-ubuntu)
  • ¥30 请帮我解决一下下面六个代码
  • ¥15 关于资源监视工具的e-care有知道的嘛
  • ¥35 MIMO天线稀疏阵列排布问题
  • ¥60 用visual studio编写程序,利用间接平差求解水准网
  • ¥15 Llama如何调用shell或者Python
  • ¥20 谁能帮我挨个解读这个php语言编的代码什么意思?