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

[Lekcja 17] Zadanie domowe - kalkulator oparty na funkcjach

Ostatnio zmodyfikowano 2014-12-03 09:17
Autor Wiadomość
luk_88
» 2014-12-02 20:37:04
bladegd, mozna sie z Tb jakos skontaktowac :) ?
P-121994
bladegd
Temat założony przez niniejszego użytkownika
» 2014-12-02 21:01:14
luk_88, jakoś można, napisz do mnie na GG
P-122001
Rashmistrz
» 2014-12-02 21:19:21
Czy chodziło Ci o coś takiego odnośnie
cin.fail()
?
Chodziło mi o to:
} while( cin.fail() )
, a nie o:
C/C++
fail = cin.fail();
} while( fail );


od razu przechodzi mi do
C/C++
cout << "Witaj w kalkulatorze.\nWcisnij ENTER, aby rozpoczac." << endl;
bool failA, failB;
do {
    cout << "Wprowadz 1 liczbe: ";
    a = wczytajLiczbe();
    //...


Nie ogarniam czy to na poważnie czy nie :P
Tak. Założyłem, że usuniesz tamtą pętlę
(czego nie zrobiłeś i sprawiło Ci problemy)
i zapomnisz zabezpieczyć przed dzieleniem przez zero,
a wypowiedziałem się tak jakbym kazał Ci
znaleźć sposób na podzielenie przez zero. :D
P-122003
bladegd
Temat założony przez niniejszego użytkownika
» 2014-12-02 22:16:34
No dobra pinkniej już się chyba nie da :) :
C/C++
#include <iostream>
#include <limits>

using namespace std;

float wczytajLiczbe()
{
    float a;
    do {
        cin.clear();
        cin.ignore( numeric_limits < streamsize >::max(), '\n' );
        cin >> a;
    } while( cin.fail() );
   
    return a;
}

void menu()
{
    cout << "Co chcesz obliczyc?" << endl;
    cout << "[1] Dodawanie" << endl;
    cout << "[2] Odejmowanie" << endl;
    cout << "[3] Mnozenie" << endl;
    cout << "[4] Dzienlenie" << endl;
    cout << "[5] Rezygnuj" << endl;
}

void obliczenia( float a, float b, int choice )
{
    switch( choice )
    {
    case 1:
        cout << a << " + " << b << " = " << a + b << endl;
        break;
    case 2:
        cout << a << " - " << b << " = " << a - b << endl;
        break;
    case 3:
        cout << a << " * " << b << " = " << a * b << endl;
        break;
    case 4:
        if( a == 0 || b == 0 )
             cout << "Panie nie da rady";
        else
             cout << a << " / " << b << " = " << a / b << endl;
       
        break;
    case 5:
        break;
    }
}

int main()
{
    int choice;
    float a, b;
    cout << "Witaj w kalkulatorze.\nWcisnij ENTER, aby rozpoczac." << endl;
    cout << "Wprowadz 1 liczbe: ";
    a = wczytajLiczbe();
    cout << "Wprowadz 2 liczbe: ";
    b = wczytajLiczbe();
    menu();
    do
    {
        cout << "Wybierz dzialanie[1-5]: ";
        choice = wczytajLiczbe();
    } while( choice > 5 || choice < 1 );
   
    obliczenia( a, b, choice );
   
    return 0;
}
P-122018
Rashmistrz
» 2014-12-02 22:25:44
Perfecto!
Wszystko jest dobrze!
(Tak z mojego punktu widzenia.)

Powodzenia w dalszej nauce! C:
P-122019
bladegd
Temat założony przez niniejszego użytkownika
» 2014-12-03 09:17:37
Serdeczne dzięki, za pomoc, przykłady, objaśnienia i przede wszystkim poświęcony przez Ciebie czas!
P-122043
1 2 « 3 »
Poprzednia strona Strona 3 z 3