Rozdzial 34
Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Zarejestruj się!

Rozdzial 34

AutorWiadomość
Temat założony przez niniejszego użytkownika
Rozdzial 34
» 2019-01-02 00:02:38
Robię "2. [trudne zadanie] Napisz program, który dla każdego wiersza w pliku:
wczyta liczby i wypisze ich sumę w przypadku, gdy wszystkie liczby uda się wczytać;
wypisze komunikat o błędnych danych, jeżeli wystąpi błąd podczas wczytywania liczb (komunikat ma wyświetlać numer wiersza, w którym wystąpił błąd)." I w sumie wszystko zrobione i działa lecz chciałbym uwzględnić w programie tekst "Linia jest pusta" zawsze kiedy takowa będzie. Jakieś sugestie? Czuje się zmartwiony problemami z tym zadaniem ktoś tak miał?
C/C++
void zadanie( std::string sciezka )
{
    int wiersz = 1, a, suma = 0;
    std::ifstream plik;
    std::string cos;
    plik.open( sciezka.c_str() );
   
    do
    {
       
       
        plik >> a;
        if( plik.fail() )
        {
            suma = 0;
            std::cout << std::endl << "Bledne dane w wierszu nr. " << wiersz;
            wiersz++;
            plik.clear();
            plik.ignore( 10000, '\n' );
        }
        else
        {
            suma += a;
            if( czyNapotkanoZnakNowegoWiersza( plik ) )
            {
               
                wiersz++;
                std::cout << std::endl << suma;
                suma = 0;
            }
           
           
           
        }
    } while( !plik.eof() );
   
    if( suma != 0 )
    {
        wiersz++;
        std::cout << std::endl << suma;
        suma = 0;
    }
   
}
P-173391
» 2019-01-02 01:16:49
I z czym masz problem dokładnie?
P-173392
Temat założony przez niniejszego użytkownika
» 2019-01-02 10:45:27
Z tym że nie wiem jak sprawdzić czy linia jest na start pusta.
P-173393
» 2019-01-02 11:02:53
Linia jest pusta, kiedy funkcja
czyNapotkanoZnakNowegoWiersza( plik )
 zwróci
true
 lub gdy osiągnięto koniec danych.
P-173394
« 1 »
 Strona 1 z 1