[Zadanie 15] Pierwsza część. Co robię nie tak. Sprawdzenie czy idea programu dobra?
Ostatnio zmodyfikowano 2012-03-08 20:03
abcde Temat założony przez niniejszego użytkownika |
[Zadanie 15] Pierwsza część. Co robię nie tak. Sprawdzenie czy idea programu dobra? » 2012-03-08 18:44:11 Cały czas mam błędy:
In function 'int main()'
error: 'sprawdzanie' was not declared in this scope |
i nie wiem już jak je wyeliminować.
Czy wogóle to ma prawo działać, program jest prawidłowy?
Oto kod:
#include <iostream>
int main()
{ int liczba; do { std::cout << "Podaj liczbe: "; std::cin >> liczba; bool sprawdzanie = std::cin.good(); if( sprawdzanie == false ) std::cout << "Bledny wybor "; std::cin >> liczba; sprawdzanie = std::cin.good(); if( sprawdzanie == true ) std::cout << "Koniec" << std::endl; } while( sprawdzanie != false ); return 0; }
|
|
pekfos |
» 2012-03-08 18:48:46 zdefiniuj 'sprawdzanie' przed pętlą do-while. |
|
jsc |
» 2012-03-08 18:49:37 Chyba trzeba zadeklarować sprawdzanie przed pętlą. Sprawdzenie czy idea programu dobra? |
Możesz wytłumaczyć o co chodzi z tym pytaniem? |
|
abcde Temat założony przez niniejszego użytkownika |
» 2012-03-08 20:03:45 Poprawiłem i zmodyfikowałem kod, ponieważ różne rzeczy się działy jeszcze.
Teraz program działa, ale gdy wpiszę błędne dane czyli literę to nie wraca ponownie do wyboru liczby tylko kończy pracę
Aktualny kod:
#include <iostream>
int main()
{ int liczba; bool sprawdzanie = std::cin.good(); do { std::cout << "Podaj liczbe: "; std::cin >> liczba; sprawdzanie = std::cin.good(); if( sprawdzanie == false ) std::cout << "Bledny wybor "; std::cout << "Koniec" << std::endl; } while( sprawdzanie = false ); return 0; }
Ps.
JSC chodziło mi oto czy dobrze chociaż kombinuje?
Dobra znalazłem już błąd. Wszystko działa jak należy.
Kod który działa.
#include <iostream>
int main()
{ int liczba; bool sprawdzanie = std::cin.good(); do { std::cin.clear(); std::cin.sync(); std::cout << "Podaj liczbe: "; std::cin >> liczba; sprawdzanie = std::cin.good(); if( sprawdzanie == false ) std::cout << "Bledny wybor " << std::endl; } while( sprawdzanie == false ); std::cout << "Koniec" << std::endl; return 0; }
Teraz powinno być ok chyba,m ze jeszcze coś widzicie to mile widziane uwagi. |
|
« 1 » |