Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Powielanie komunikatu o błędzie

Ostatnio zmodyfikowano 2017-11-10 05:57
Autor Wiadomość
OddajcieBoja
Temat założony przez niniejszego użytkownika
Powielanie komunikatu o błędzie
» 2017-11-10 01:12:30
Piszę program na zaliczenie, lecz pewien jego fragment nie działa prawidłowo. Chodzi o to, że po wpisaniu do scanf wiecej niz jednego znaku powoduje wielokrotne wypisanie komunikatu o błędzie, a estetyczniej byłoby gdyby w razie błędu zawsze wypisywał komunikat tylko raz.
Program musi być napisany całkowicie w C.

C/C++
char decyzja,
puts( "Czy zliczyc wystepowanie konkretnej liczby? t/n " );
do
{
    if( scanf( "%1s", & decyzja ) == 1 && decyzja != 't' && decyzja != 'n' ) {
        puts( "Blad, prosze podjac decyzje jeszcze raz." );
    }
} while( decyzja != 't' && decyzja != 'n' );


Z góry dzieki za poświecenie waszego czasu.
P-166650
ParseThisCode
» 2017-11-10 05:57:02
Rozwiązanie

C/C++
while(( decyzja = getchar() ) != 't' && decyzja != 'n' )
{
    printf( "Zły wybor! 't' lub 'n'\n" );
    // czyszczenie bufora = TWÓJ FIX
    while( getchar() != '\n' );
   
}
P-166651
« 1 »
  Strona 1 z 1