[C++] Kod się zapętla
Ostatnio zmodyfikowano 2012-11-28 01:22
kynol Temat założony przez niniejszego użytkownika |
[C++] Kod się zapętla » 2012-11-27 23:18:10 Witam mam problem. Zwracajcie uwage tylko na CASE 1! bo reszty nie zmienialem... Daje kod. Pytanie : Czemu sie nie zapetla, co jest zle?:/ #include <cstdlib> #include <iostream> using namespace std;
int main() { int wybor, a; bool zabezpieczenie_liczby, zabezpieczenie; cout << "\tWybierz dzialanie: " << endl; cout << "1 - Post-inkrementacja\n2 - Pre-inkrementacja\n3 - Post-dekrementacja\n4 - Pre-dekrementacja" << endl; do { cout << "Musisz podac tylko liczbe z zakresu od 1 - 4!" << endl; cout << "Wybierasz dzialanie nr: "; cin.clear(); cin.sync(); cin >> wybor; zabezpieczenie = cin.good(); if( zabezpieczenie == true ); else cout << "Program nie akceptuje znakow badz liter!" << endl; } while(( wybor <= 0 ) ||( wybor >= 5 ) ); switch( wybor ) { case 1: { cout << "Wybrales Post-inkrementacje" << endl; cout << "Podaj liczbe= "; do { zabezpieczenie_liczby = cin.good(); cin.clear(); cin.sync(); cin >> a; if( a == zabezpieczenie_liczby ) { cout << "Wynik post-inkrementacji to: " << a++ << endl; cout << "Liczba po przejsciu post-inkrementacji: " << a << endl; } else { do { cout << "Program nie akceptuje znakow badz liter!" << endl; cout << "Podaj liczbe= "; cin.clear(); cin.sync(); cin >> a; } while( a == zabezpieczenie_liczby ); } } while( a == zabezpieczenie_liczby ); } break; case 2: { cout << "Wybrales Pre-inkrementacje" << endl; do { cout << "Podaj liczbe= "; cin.clear(); cin.sync(); cin >> a; zabezpieczenie_liczby = cin.good(); if( zabezpieczenie_liczby == true ); else cout << "Program nie akceptuje znakow badz liter!" << endl; } while( a < 0 ); cout << "Wynik pre-inkrementacji to: " << ++a << endl; } break; case 3: { cout << "Wybrales Post-dekrementacje" << endl; do { cout << "Podaj liczbe= "; cin.clear(); cin.sync(); cin >> a; zabezpieczenie_liczby = cin.good(); if( zabezpieczenie_liczby == true ); else cout << "Program nie akceptuje znakow badz liter!" << endl; } while( a < 0 ); cout << "Wynik post-dekrementacji to: " << a-- << endl; cout << "Liczba po przejsciu post-dekrementacji: " << a << endl; } break; case 4: { cout << "Wybrales Pro-dekrementacje" << endl; do { cout << "Podaj liczbe= "; cin.clear(); cin.sync(); cin >> a; zabezpieczenie_liczby = cin.good(); if( zabezpieczenie_liczby == true ); else cout << "Program nie akceptuje znakow badz liter!" << endl; } while( a < 0 ); cout << "Wynik pro-dekrementacji to: " << --a << endl; } break; } system( "PAUSE" ); return 0; }
|
|
kynol Temat założony przez niniejszego użytkownika |
» 2012-11-28 01:22:05 Problem rozwiazany. Daje kod #include <cstdlib> #include <iostream> using namespace std;
int main() { int wybor, a; bool zabezpieczenie_liczby, zabezpieczenie; cout << "Program demonstrujacy:" << endl; cout << "Post-inkrementacje, Pre-dekrementacje, Post-dekrementacje, Pre-inkrementacje" << endl; cout << "\n\n\n"; cout << "\tWybierz dzialanie: " << endl; cout << "1. Post-inkrementacja\n2. Pre-inkrementacja\n3. Post-dekrementacja\n4. Pre-dekrementacja" << endl; do { cout << "Musisz podac tylko liczbe z zakresu od 1 - 4!" << endl; cout << "Wybierasz dzialanie nr: "; cin.clear(); cin.sync(); cin >> wybor; zabezpieczenie = cin.good(); if( zabezpieczenie == true ); else cout << "Program nie akceptuje znakow badz liter!" << endl; } while(( wybor <= 0 ) ||( wybor >= 5 ) ); switch( wybor ) { case 1: { cout << "Wybrales Post-inkrementacje" << endl; cout << "Podaj liczbe= "; cin >> a; zabezpieczenie_liczby = cin.good(); if( !zabezpieczenie_liczby ) { do { cout << "Program nie akceptuje znakow badz liter!" << endl; cout << "Podaj jeszcze raz liczbe= "; cin.clear(); cin.sync(); cin >> a; zabezpieczenie_liczby = cin.good(); } while( !zabezpieczenie_liczby ); } cout << "\tPodana liczba to: " << a++ << endl; cout << "\tLiczba po przejsciu post-inkrementacji: " << a << endl; } break; case 2: { cout << "Wybrales Pre-inkrementacje" << endl; cout << "Podaj liczbe= "; cin >> a; zabezpieczenie_liczby = cin.good(); if( !zabezpieczenie_liczby ) { do { cout << "Program nie akceptuje znakow badz liter!" << endl; cout << "Podaj jeszcze raz liczbe= "; cin.clear(); cin.sync(); cin >> a; zabezpieczenie_liczby = cin.good(); } while( !zabezpieczenie_liczby ); } cout << "\tLiczba po przejsciu pre-inkrementacji to: " << ++a << endl; } break; case 3: { cout << "Wybrales Post-dekrementacje" << endl; cout << "Podaj liczbe= "; cin >> a; zabezpieczenie_liczby = cin.good(); if( !zabezpieczenie_liczby ) { do { cout << "Program nie akceptuje znakow badz liter!" << endl; cout << "Podaj jeszcze raz liczbe= "; cin.clear(); cin.sync(); cin >> a; zabezpieczenie_liczby = cin.good(); } while( !zabezpieczenie_liczby ); } cout << "\tPodana liczba to: " << a-- << endl; cout << "\tLiczba po przejsciu post-dekrementacji: " << a << endl; } break; case 4: { cout << "Wybrales Pro-dekrementacje" << endl; cout << "Podaj liczbe= "; cin >> a; zabezpieczenie_liczby = cin.good(); if( !zabezpieczenie_liczby ) { do { cout << "Program nie akceptuje znakow badz liter!" << endl; cout << "Podaj jeszcze raz liczbe= "; cin.clear(); cin.sync(); cin >> a; zabezpieczenie_liczby = cin.good(); } while( !zabezpieczenie_liczby ); } cout << "\tLiczba po przejsciu pro-dekrementacji to: " << --a << endl; } break; } system( "PAUSE" ); return 0; }
|
|
« 1 » |