jeudi 21 avril 2016

Read from text file and write in another text file c fstream write and read

Here is my scores.txt file

7 2 11 4
9 1 30 3
5 3 20 3
10 1 10 2
5 0 50 0

this is a detais of 5 cricketer match inning

structures of above details-

7-overs,2-maiden,11-runs,4-wickets

I want to get five bowlers and average like below

Bowler    Average
1         2.75
2         10
3         6.66
4         5
5         NA
6         NA

above file has six bowlers last one is repeated.I tried to get it only five times because scores,txt file has five lines.

Here is my code

#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;
using std::setw;

int main(){
    float avg;
    int over,maiden,runs,wickets;
    ifstream scores;
    scores.open("scores.txt");
    if(!scores){
        cout<<"Error \n";
        return -1;
    }

    ofstream average("average.txt");
    if(!average){
        cout<<"Error \n";
        return -1;
    }

    average << "Bowler"<<"\t"<<"Average"<<endl;
    int i=1;
    //scores >> over >> maiden >> runs >> wickets;
    while(!scores.eof()){
        scores >> over >> maiden >> runs >> wickets;
        avg = runs/float(wickets);
        if(wickets == 0){
            average<<i<<"\t"<<"NA"<<endl;
        }else{
            //avg = runs/float(wickets);
            average << i<<"\t"<<avg<<endl;

        }
        i++;
    }
    scores.close();
    average.close();
    return 0;
}

Aucun commentaire:

Enregistrer un commentaire