C++ problem z zabezpieczaniem strumienia wejścia
Ostatnio zmodyfikowano 2011-07-01 21:20
murek |
» 2011-06-30 13:30:44 petla bez/ze zlym warunkiem zakonczenia zapewne
|
|
Dark Temat założony przez niniejszego użytkownika |
» 2011-06-30 14:04:04 A w tym programie też jest możliwość nieskończonej pętli? #include <iostream> using namespace std; int main() { double wynik = 0; double first; double second; int number; bool first_stan; bool second_stan; bool number_stan; do { cout << "Wynik wynosi " << wynik << endl; do { cout << "Wprowadz liczbe (Wprowadz zero aby zakonczyc program) : "; cin >> first; first_stan = cin.fail(); cin.clear(); cin.sync(); } while( first_stan ); if( first != 0 ) { do { cout << "Wprowadz druga liczbe (zero zakonczy program): "; cin >> second; second_stan = cin.fail(); cin.clear(); cin.sync(); } while( second_stan ); if( second != 0 ) { cout << "Wybierz dzialanie:" << endl; cout << "1. Dodawanie" << endl; cout << "2. Odejmowanie" << endl; cout << "3. Mnozenie" << endl; cout << "4. Dzielenie" << endl; cout << "5. Zrezygnuj" << endl; do { cout << "Dzialanie : "; cin >> number; number_stan = cin.fail(); cin.clear(); cin.sync(); } while( number_stan &&( 1 <= number <= 5 ) ); switch( number ) { case 1: wynik = first + second; cout << first << " + " << second << " = " << wynik << endl; break; case 2: wynik = first - second; cout << first << " - " << second << " = " << wynik << endl; break; case 3: wynik = first * second; cout << first << " * " << second << " = " << wynik << endl; break; case 4: wynik = first / second; cout << first << " / " << second << " = " << wynik << endl; break; case 5: cout << "Koniec" << endl; return 0; break; } } else return 0; } else return 0; } while( first != 0 || second != 0 ); }
|
|
murek |
» 2011-06-30 14:06:15 debuguj ;] |
|
ison |
» 2011-06-30 14:08:06 @Dark Tak tylko, że moim zdaniem to jest czepianie się mało istotnych spraw |
|
Dark Temat założony przez niniejszego użytkownika |
» 2011-06-30 14:08:07 A możesz przedstawić przypadek choć jeden w którym to następuje? |
|
ison |
» 2011-06-30 14:11:17 aaa.txt:
3 7 1
cmd:
program.exe < aaa.txt
(to samo tyczy się 3 7 1 0 gdzie ostatnie 0 powinno teoretycznie zakończyć działanie programu a nie zakańcza)
lub jeśli wolisz bez używania plików możesz użyć ctrl+d |
|
Elaine |
» 2011-06-30 14:25:01 tylko, że moim zdaniem to jest czepianie się mało istotnych spraw |
Skoro poprawna rekacja programu na dziwny input (a dziwny będzie na pewno, użytkownicy lubią podawać niepoprawne dane) to mało istnotna sprawa, to gratuluję podejścia :P |
|
murek |
» 2011-06-30 14:48:48 A możesz przedstawić przypadek choć jeden w którym to następuje? |
petla
while(true) jest przykladam petli nieskonczonej |
|
1 « 2 » 3 |