Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <string>
- using namespace std;
- //il file classifiche.txt contiene su ogni riga separati da punto e virgola:
- //cognome_alunno;posto in classifica (un intero);punteggio totalizzato (un numero con la virgola)
- //l`obiettivo è quello di leggere e stampare i dati
- //SOLUZIONE:
- //usare getline con un TERZO parametro che specifica il carattere
- //(char, non string!) che fa da separatore dei dati
- int main()
- {
- ifstream leggi("classifiche.txt");
- if (!leggi)
- {
- cout << "Problemi apertura file ...";
- }
- else
- {
- string cognome="";
- string posto_classifica_str="";
- int posto_classifica=0;
- string punteggio_str="";
- double punteggio=0;
- while ( getline(leggi, cognome, ';') )
- {
- getline(leggi, posto_classifica_str, ';');
- try {
- posto_classifica = stoi(posto_classifica_str);
- }
- catch (invalid_argument ecc_posto)
- {
- cout << "Errore di formato posto classifica\n";
- break;
- }
- getline(leggi, punteggio_str);
- try {
- punteggio = stod(punteggio_str);
- }
- catch (invalid_argument ecc_punteggio)
- {
- cout << "Errore di formato punteggio\n";
- break;
- }
- cout << "Giocatore: " << cognome << endl;
- cout << "Posto Classifica: " << posto_classifica_str << endl;
- cout << "Punteggio: " << punteggio_str << endl << endl;
- cout <<string(40, '-')<<endl;
- }
- leggi.close(); leggi.clear();
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement