Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Lekcja 15] Pytanie dotyczące kalkulatora

Ostatnio zmodyfikowano 2011-08-30 16:41
Autor Wiadomość
kar0lek1
Temat założony przez niniejszego użytkownika
[Lekcja 15] Pytanie dotyczące kalkulatora
» 2011-08-29 19:54:17
C/C++
#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 ?
P-40193
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 ;)
C/C++
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
P-40200
kar0lek1
Temat założony przez niniejszego użytkownika
» 2011-08-30 16:41:28
Dziękuję za pomoc ;). Już wszystko jasne.
P-40266
« 1 »
  Strona 1 z 1