24小时热门版块排行榜    

查看: 1019  |  回复: 3

杨小云同学

新虫 (小有名气)

[求助] 利用c++处理csv文件的数据 已有2人参与

12.1,23,45
66,56,76.1
12.1,23.2,45,
如何用C++编一个程序读取csv文件里像上述的数据,求出每行的平均值呢?

发自小木虫IOS客户端
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

杨小云同学

新虫 (小有名气)

最后一行最后一个逗号多打了,抱歉

发自小木虫IOS客户端
2楼2017-07-23 13:59:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

never2338

木虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
CODE:
#include<iostream>
#include<fstream>
#include<string>
#include<sstream>
#include<string.h>
using namespace std;

int main(){
    ifstream fin("data.csv");//input file.
    ofstream fout("output.dat");//output file.
    string s;
    stringstream ss;
    char p[200];
    static long lines=1;

    while(fin!=NULL){
    int num=0;//data of float type in total in a line.
    float sum=0.0f;
    getline(fin,s,'\n');
    cout<<s<<endl;
    if(!fin)break;//end of file,break loop.
        if(fout.is_open()){
        fout<<lines<<":  ";//line number.
        }else{
            cout<<"File not found!"<<endl;
        }
    //split
    strcpy(p,s.c_str());
    char* token=strtok(p,",");
    while(token!=NULL){
        float a=0.0f;
        cout<<token<<endl;
        ss<<token;
        ss>>a;
        if(fout.is_open()){
        fout<<a<<",";
        }else{
            cout<<"File not found!"<<endl;
        }
        sum+=a;
        ss.clear();
        ss.str("");
        num++;
        token=strtok(NULL,",");
    }
    lines++;
        cout<<"Sum:"<<sum<<endl;
        cout<<"Average:"<<sum/num<<endl;
        fout<<"   "<<sum<<","<<sum/num<<endl;
    cout<<"============================"<<endl;

}
    fin.close();
    fout.close();
}

3楼2017-07-23 17:03:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

imyourkobe

铁杆木虫 (著名写手)

【答案】应助回帖

★
感谢参与,应助指数 +1
jjdg: 金币+1, 感谢参与 2017-07-24 22:22:10
就是读取文件,一行行读取,按逗号分隔,用数组存储或直接计算。
4楼2017-07-23 23:43:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 杨小云同学 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 ELBZ6WwEaRj6 2026-11-04 6/300 2026-11-05 18:11 by My20PsvIExYO
[考博] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 ttH3f1oA6ace 2026-11-04 6/300 2026-11-05 18:00 by My20PsvIExYO
[公派出国] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 ttH3f1oA6ace 2026-11-04 7/350 2026-11-05 17:58 by My20PsvIExYO
[考研] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 ttH3f1oA6ace 2026-11-04 11/550 2026-11-05 17:58 by My20PsvIExYO
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +5 kvewwGtKktqB 2026-11-04 13/650 2026-11-05 17:47 by My20PsvIExYO
[考博] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 kvewwGtKktqB 2026-11-04 8/400 2026-11-05 17:47 by My20PsvIExYO
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 ncTVBM6AOJHF 2026-11-04 14/700 2026-11-05 17:36 by My20PsvIExYO
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +4 ncTVBM6AOJHF 2026-11-04 11/550 2026-11-05 17:36 by My20PsvIExYO
[考研] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +5 ncTVBM6AOJHF 2026-11-04 10/500 2026-11-05 17:36 by My20PsvIExYO
[硕博家园] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +4 ncTVBM6AOJHF 2026-11-04 9/450 2026-11-05 17:26 by My20PsvIExYO
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +6 ncTVBM6AOJHF 2026-11-04 16/800 2026-11-05 17:25 by My20PsvIExYO
[硕博家园] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 ncTVBM6AOJHF 2026-11-04 9/450 2026-11-05 17:25 by My20PsvIExYO
[公派出国] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +6 ncTVBM6AOJHF 2026-11-04 19/950 2026-11-05 17:25 by My20PsvIExYO
[考研] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 ncTVBM6AOJHF 2026-11-04 13/650 2026-11-05 17:15 by My20PsvIExYO
[基金申请] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 ELBZ6WwEaRj6 2026-11-04 7/350 2026-11-05 16:08 by My20PsvIExYO
[考研] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 ttH3f1oA6ace 2026-11-04 9/450 2026-11-05 15:46 by My20PsvIExYO
[考研] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 ncTVBM6AOJHF 2026-11-04 10/500 2026-11-05 15:24 by My20PsvIExYO
[公派出国] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +5 ncTVBM6AOJHF 2026-11-04 9/450 2026-11-05 15:13 by My20PsvIExYO
[教师之家] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 ncTVBM6AOJHF 2026-11-04 12/600 2026-11-05 11:10 by PYZmcHr5kSaq
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 ncTVBM6AOJHF 2026-11-04 10/500 2026-11-05 10:39 by PYZmcHr5kSaq
信息提示
请填处理意见