[Lekcja 15] Pierwsza część
Ostatnio zmodyfikowano 2011-11-05 10:22
endix18 Temat założony przez niniejszego użytkownika |
[Lekcja 15] Pierwsza część » 2011-10-27 22:22:37 Witam
Właśnie staram się zrozumieć pętle i proszę was o sprawdzenie pierwszej części zadania które wykonałem
#include <iostream> using namespace std;
int main() { int liczba; float zmienna; cout << "Podaj liczbe "; cin >> liczba; if( !liczba || zmienna ) do { cout << "Blad" << endl; cout << "Podaj jeszcze raz" << endl; cin >> liczba; } while( liczba ); cout << "Koniec" << endl; return 0; }
Problem polega na tym ze wpisując liczbę np. 11 wyskakuje to co zdefiniowałem w bloku instrukcji do... while... to samo tyczy się zmiennej np. 12.55 tyle tylko że ów komunikat wyskakuje bez przerwy.
Byłbym wdzięczny za jakieś rozwiązanie ew. bardziej satysfakcjonowała by mnie podpowiedź po której sam mógłbym dojść co do czego.
W ostateczności ktoś mnie wyśle do przestudiowania jeszcze raz poziomu 1
|
|
DejaVu |
» 2011-10-27 23:01:36 Ja bym Ciebie odesłał do instrukcji warunkowej ;p |
|
endix18 Temat założony przez niniejszego użytkownika |
[Lekcja 15] Sprawdzenie zadania domowego. » 2011-11-05 02:58:02 Po bezstresowym :D rozwiązaniu mojego problemu z pętlom uważam że zadanie domowe zostało wykonane. Teraz chciałbym prosić tych z was którzy się na tym znają o wiele lepiej odemnie o ew. uwagi/rady odnośnie mojego kodu.
#include <iostream>
using namespace std; int main() { float a, b; int c; char znak; do { cout << " MENU" << endl; cout << "Wybierz dzialanie:" << endl; cout << "[1] Dodawanie" << endl; cout << "[2] Odejmowanie" << endl; cout << "[3] Mnozenie" << endl; cout << "[4] Dzielenie" << endl; cout << "[5] Zakoncz" << endl; cin >> c; cin.clear(); cin.sync(); } while( c <= 0 || c >= 6 ); switch( c ) { case 1: cout << "Dodawanie" << endl; do { cin >> a >> b; cin.clear(); cin.sync(); cout << a + b << endl; } while( a != cin.good() && b != cin.good() ); cout << "Wcisnij dowolny klawisz aby zakonczyc"; break; case 2: cout << "Odejmowanie " << endl; do { cin >> a >> b; cin.clear(); cin.sync(); cout << a - b; } while( a != cin.good() && b != cin.good() ); cout << "Wcisnij dowolny klawisz aby zakonczyc"; break; case 3: cout << "Mnozenie " << endl; do { cin >> a >> b; cin.clear(); cin.sync(); cout << a * b; } while( a != cin.good() && b != cin.good() ); cout << "Wcisnij dowolny klawisz aby zakonczyc"; break; case 4: cout << "Dzielenie " << endl; do { cin >> a >> b; cin.clear(); cin.sync(); cout << a / b; } while( a != cin.good() && b != cin.good() ); cout << "Wcisnij dowolny klawisz aby zakonczyc"; break; case 5: cout << "Koniec" << endl; break; } return 0; }
|
|
SeaMonster131 |
» 2011-11-05 10:22:55 Chyba ok jest wszystko ;p Jedynie co, to taka kosmetyczna uwaga, ale mniej czasu się traci: w każdym case wczytujesz w ten sam sposób 2 liczby, a spokojnie mógłbyś je wczytać wcześniej (przed switchem) itp i dopiero wtedy dać na nich operacje. Tylko uważaj, bo w switchu masz 5 jako wyjście, więc żebyś nie wczytywał liczb kiedy chcesz wyjść hehe ;) |
|
« 1 » |