注册 登录
编程论坛 C语言论坛

向指定的文本文档写入字符

雪夜公爵2 发布于 2020-10-17 18:58, 1600 次点击
我会用
fscanf(fp1,"%d",&a);//从输入文件读取一个整数   
fputs(c,fp2);//向输出文件写入一行字符串
读取和写入字符   这个题怎么把字符写在输出文件原有字符的后面?


题2:计算学生总评成绩,从文件读取学生的平时成绩与期末开始成绩,实现学生总评成绩计算的程序。要求:从文件score.txt读入两位学生的平时成绩与期末考试成绩,按平时成绩占30%,期末考试占70%计算总评成绩并输出到文件finalscore.txt对应的位置(数据保留小数点后面位)。程序保存为exe2.c。
score.txt内容格式如下:
a: 90.0 95.0
b: 86 91
finalscore.txt内原来存储有的内容如下:
a_final:
b_final:

5 回复
#2
吹水佬2020-10-17 19:59
fscanf
fprintf
#3
风过无痕19892020-10-17 20:29
回复 楼主 雪夜公爵2
使用fopen 函数 r 方式打开文件score.txt,将两位学生的平时成绩与期末考试成绩读取出来,按题目要求“按平时成绩占30%,期末考试占70%计算总评成绩”后,使用fopen 函数 a+ 方式(即追加方式)打开文件finalscore.txt,再用fseek函数将文件位置调整到文件末尾,然后用fputs函数向finalscore.txt写入数据即可。

FILE *fp = fopen("score.txt", "r");
if (fp==0)
{
printf("can't open file\n");
return 0;
}


计算。。。。。。


FILE *fp = fopen("finalscore.txt", "a+");
if (fp==0)
{
printf("can't open file\n");
return 0;
}
fseek(fp, 0, SEEK_END);

fputs;

fclose(fp);
return 0;
#4
雪夜公爵22020-10-17 20:55
回复 3楼 风过无痕1989
感谢回复,可这样输出之后两个数据都在b_final:的后面
我得让一个数据在a_final的后面  一个在b_final的后面
该怎么做?
#5
风过无痕19892020-10-18 09:21
回复 4楼 雪夜公爵2
a_final和b_final前面已经读出去了,不行,就直接当那个文本文件是个空文件,将计算好的数据与a_final、b_final排好,向那个文件中覆盖写入嘛
#6
rjsp2020-10-19 08:49
看不懂题目
输出到文件finalscore.txt对应的位置
对应什么?对应的是行号,还是前面的字符?
score.txt 的序号是 a、b、…… 吗?如果超过26个后是什么?finalscore.txt 的序号是 a_final、b_final、…… 吗?如果超过26个后是什么?
score.txt的序号 与 finalscore.txt的序号 在同一行号上对应吗?
score.txt的序号 与 finalscore.txt的序号 保证一一对应吗?还是只保证 score.txt的序号 在finalscore.txt中必然存在,反之则不然?
1