[C++] Rozdzial 34 Zad. 2
Ostatnio zmodyfikowano 2016-09-21 22:25
karambaHZP |
» 2016-09-21 22:18:20 @igawar Program który napisał alloyZ zapętla się w funkcji "czyNapotkanoZnakNowegoWiersza" |
while( !plik.eof() ) { ok = true; suma = 0; while( !czyNapotkanoZnakNowegoWiersza( plik ) && !plik.eof() ) { plik.clear(); plik >> iLiczba; if( plik.eof() ) break; if( plik.fail() ) { plik.clear(); plik >> cZnak; ok = false; } else suma += iLiczba; } if( plik.eof() ) break; if( ok == false ) std::cout << "Bledne dane w linii " << i << std::endl; else std::cout << "Suma w linii " << i << " = " << suma << std::endl; ++i; } |
|
igawar |
» 2016-09-21 22:25:56 Ja zamiast while( !czyNapotkanoZnakNowegoWiersza( plik ) używam if i jest prościej. while( !plik.eof() ) { if( !czyKoniecLinii( plik ) ) { plik >> liczba; if( plik.good() ) suma += liczba; else { plik.clear(); plik >> znak; zlyZnak = true; }; } else { if( !zlyZnak ) { cout << suma << endl; ++nrW; suma = 0; } else { cout << "Bledne dane w wierszu nr " << nrW << "!" << endl;; ++nrW; suma = 0; zlyZnak = false; } }; }
Wszystkie metody są dozwolone jeśli dają dobry wynik. Jak w każdej dziedzinie ma się swoje przyzwyczajenia i chodzi się utartymi ścieżkami. Ale się wymądrzyłam :) :) :) |
|
1 « 2 » |