c语言逐行读取文件中的数字并相加

文本内容是10:01:24.315TRNi交易数据:车站名:XXX站,交易号:14039,单价:3.00,应售数量:1,付款金额5.00,实售数量:1,实找零:2.00,... 文本内容是
10:01:24.315 TRN i 交易数据:
车站名:XXX站,
交易号:14039,
单价:3.00,
应售数量:1,
付款金额5.00,
实售数量:1,
实找零:2.00,
设备编号:02010404

10:01:24.315 TRN i 交易数据:
车站名:XXX站,
交易号:14039,
单价:4.00,
应售数量:3,
付款金额20.00,
实售数量:1,
实找零:8.00,
设备编号:02010404

我想要把文本中的单价乘以应售数量并把每一个这样的结果求和,求哪位大神给个代码
文本的内容有几MB不是只有两笔交易数据,有很多个这样的内容。我想要的是每一笔交易数据中检索“单价:”、“应售数量:”这两个数据然后相乘。再把每一笔交易数据相加。

新手,现在分不多,请多多包含!
展开
 我来答
White_MouseYBZ
推荐于2017-09-18 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6675万
展开全部
5分不足打字功夫,你可以不给分,只要题好,也会有人做……
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
int main(void){
    double sum=0,up;
    int hm;
    char tmp[6]="",x[1000];
    FILE *fp;
    if((fp=fopen("123.txt","r"))==NULL){
        printf("Open the file failure...\n");
        exit(0);
    }
 
更多追问追答
追问
我也想给多点,但是新手,没分啊
追答

    

while(tmp[4]=fgetc(fp),!feof(fp)){
        if(!strcmp(tmp,"单价:")){
            fscanf(fp,"%lf%[^1234567890]%d",&up,x,&hm);
            sum+=(up*hm);
        }
        tmp[0]=tmp[1],tmp[1]=tmp[2],tmp[2]=tmp[3],tmp[3]=tmp[4];
    }
    fclose(fp);
    printf("The result is %g\n",sum);
    return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式