[Lekcja 15] Pytanie dotyczące kalkulatora
Ostatnio zmodyfikowano 2011-08-30 16:41
kar0lek1 Temat założony przez niniejszego użytkownika |
[Lekcja 15] Pytanie dotyczące kalkulatora » 2011-08-29 19:54:17 #include <iostream>
using namespace std; int main()
{ float x, y, wynik = 0; int dzialanie; do { do { cin.clear(); cout << "\n Obecny wynik to = " << wynik << endl; cout << "\n\n++ KALKULATOR ++ \n" << endl; cout << "Podaj pierwsza liczbe : \n" << endl; cin >> x; cout << "Podaj druga liczbe : \n" << endl; cin >> y; } while( x, y == 0 ); cout << "== Menu wyboru : == \n" "[1] Dodawanie \n" "[2] Odejmowanie \n" "[3] Mnożenie \n" "[4] Dzielenie \n" "[5] Rezygnuje \n" << endl; cin >> dzialanie; switch( dzialanie ) { case 1: wynik = x + y; cout << "Wynik dodawania = " << x + y << endl; break; case 2: cout << "Wynik odejmowania = " << x - y << endl; break; case 3: cout << "Wynik mnożenia = " << x * y << endl; break; case 4: cout << "Wynik dzielenia = " << x / y << endl; break; case 5: cout << "== Good by =="; break; default: cout << "Nie wybrałeś odpowiedniego działania !" << endl; break; } } while( dzialanie != 5 ); return 0; } Mam kilka niejasności.. ;/ 1. Nie czyści mi za każdym razem pamięci jeżeli chodzi o pokazywania aktualnego wyniku. 2. Jak mam zrobić gdy podam jako pierwszą liczbę "zero" pokazywało mi komunikat typu "Proszę podać inną dowolną liczbę oprócz zera!" i cofa do ponownego wpisania liczby.. ( u mnie jest tak że pętla nie zakończy się jeżeli podamy jako pierwszą lub drugą liczbę zero, bez wyświetlania komunikatu). 3. Czy ogólnie to jest dobrze napisane ? Czy czegoś istotnego brakuje ? |
|
SeaMonster131 |
» 2011-08-29 23:00:28 1. Widzisz różnice między case 1, a case 2 (/3 /4)? Szczególnie to, co jest w następnej linijce po case 1, a nie ma tego po case 2 ;) case 1: wynik = x + y; cout << "Wynik dodawania = " << x + y << endl; break; case 2: cout << "Wynik odejmowania = " << x - y << endl; break; 2. To spr czy podana liczba to 0, jeżeli tak, to wróć na początek pętli - dlatego tutaj proponowałbym 1 pętle dla wpisania liczby x oraz drugą pętle dla wpisania liczby y (dlatego, że jeżeli liczba y to 0, to żeby pętla nie wracała do wpisania liczby x) 3. Hm... tak: } while( x, y == 0 ); nie łączy się warunków ;p |
|
kar0lek1 Temat założony przez niniejszego użytkownika |
» 2011-08-30 16:41:28 Dziękuję za pomoc ;). Już wszystko jasne. |
|
« 1 » |