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

文本内容是
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不是只有两笔交易数据,有很多个这样的内容。我想要的是每一笔交易数据中检索“单价:”、“应售数量:”这两个数据然后相乘。再把每一笔交易数据相加。

新手,现在分不多,请多多包含!

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;
}

追问

大神,这里面单价没有和应售数量相乘吧

追答

sum+=(up*hm);——up是单价,hm是应售数。

温馨提示:答案为网友推荐,仅供参考
相似回答