Ciao ragazzi, ho nuovamente problemi con la gestione dei file..
Ho un file così formattato:
<data> <descrizione> <cifra>
<data> <descrizione> <cifra>
..
Quello che devo fare è restituire la somma algebrica di tutte le "cifre" contenute nel file, non conoscendo a priori da quante righe è composto il file.
Queste è la funzione che ho implementato:
float saldo(char nomefile[20]){
stringstream is[10];
fstream myfile;
string line;
float vett[10],sum=0;
int i=1,j=0;
myfile.open(nomefile,fstream::in);
if (!myfile.is_open()){
cout<<"errore: file non esistente"<<endl;
return -1;
}
while(!myfile.eof()){
myfile>>line;
if (i%3==0){
is[j]<<line;
is[j]>>vett[j];
j++;
}
i++;
}
for(i=0;i<j;i++){
sum=sum+vett[i];
}
myfile.close();
cout<<sum;
return sum;
}
il codice funziona, ma non mi piace il modo in cui è stato implementato (mi sembra di barare ).
Questo è per grandi linee il modo in cui si può fare o ci sono soluzioni migliori?