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

Lekcja 14 - Kalukator z if

Ostatnio zmodyfikowano 2014-03-05 20:11
Autor Wiadomość
maciek77
Temat założony przez niniejszego użytkownika
Lekcja 14 - Kalukator z if
» 2014-03-05 18:34:50
co muszę zrobić żeby po wybraniu odpowiedniego działania pokazywało mi wynik tylko wybranego przeze mnie działanie a nie wsyztskich
C/C++
#include <iostream>
using namespace std;
int main()
{
    float a, b;
    float c, d, e, f;
    char wybor;
   
    cout << "Podaj pierwsza liczbe - a: ";
    cin >> a;
    cout << "Podaj druga liczbe - b: ";
    cin >> b;
   
    cout << "Jakie dzialanie chcesz wykonac?" << endl;
    cout << "Dodawanie - c" << endl;
    cout << "Odejmnowanie - d" << endl;
    cout << "Mnozenie - e" << endl;
    cout << "Odejmnowanie - f" << endl;
    cin >> wybor;
   
    a, b, c, d = wybor;
    c = a + b;
    d = a - b;
    e = a * b;
    f = a / b;
   
    if( wybor = c )
    {
        cout << "Suma tych liczb wynosi " << c << endl;
       
        if( wybor = d )
        {
            cout << "Roznica tych liczb wynosi " << d << endl;
            if( wybor = e )
            {
                cout << "Iloczyn tych liczb wynosi " << e << endl;
                if( wybor = f )
                {
                    cout << "Iloraz tych liczby wynosi " << f << endl;
                }
            }
        }
        else
             cout << "Koniec";
       
    }
   
    return 0;
}
P-105671
pekfos
» 2014-03-05 18:43:19
Mylisz = z ==. Linia
a, b, c, d = wybor;
 nic nie robi, a porównanie z c porównuje ze zmienną c, a nie ze znakiem 'c'. Nie zabezpieczasz programu przed dzieleniem przez zero i niepotrzebnie zapisujesz wyniki działań do zmiennych - możesz je od razu wypisywać.
P-105672
maciek77
Temat założony przez niniejszego użytkownika
» 2014-03-05 19:16:58
a można to w ogóle zrobić z wykorzystaniem if tak jak ja to rozpocząłem ? bo jakoś mi to nie wychodzi
P-105674
pekfos
» 2014-03-05 19:21:35
Można, ale z innym ułożeniem warunków. Obecnie, po poprawieniu wyżej wymienionych błędów, do następnych porównań dojdzie tylko wtedy, gdy poprzednie były prawdziwe, a tak nie będzie, bo za każdym razem porównujesz z inną wartością. Powinno to wyglądać tak:
C/C++
if( czy_rowne_a )
{
    //..
}
if( czy_rowne_b )
{
    //..
}
//..
W razie dalszych problemów, podaj kod :)
P-105675
maciek77
Temat założony przez niniejszego użytkownika
» 2014-03-05 20:04:55
ok poradziłem sobie, dzięki za pomoc i pozdrawiam.

dodaje kod. może komuś w przyszłości pomoże
C/C++
#include <iostream>
using namespace std;
int main()
{
    float a, b;
    char wybor;
    char c, d, e, f;
   
    cout << "Podaj pierwsza liczbe - a: ";
    cin >> a;
    cout << "Podaj druga liczbe - b: ";
    cin >> b;
   
    cout << "Jakie dzialanie chcesz wykonac?" << endl;
    cout << "Dodawanie - c" << endl;
    cout << "Odejmnowanie - d" << endl;
    cout << "Mnozenie - e" << endl;
    cout << "Dzielenie - f" << endl;
    cin >> wybor;
   
    if( wybor == 99 )
    {
        cout << "Suma tych liczb wynosi " << a + b << endl;
    }
    if( wybor == 100 )
    {
        cout << "Roznica tych liczb wynosi " << a - b << endl;
    }
    if( wybor == 'e' )
    {
        cout << "Iloczyn tych liczb wynosi " << a * b << endl;
    }
    if( wybor == 'f' )
    {
        cout << "Iloraz tych liczby wynosi " << a / b << endl;
    }
   
    return 0;
}
P-105679
maciek77
Temat założony przez niniejszego użytkownika
» 2014-03-05 20:09:29
mam jeszcze takie pytanie, jeśli chodzi o swicht... w case można wstawić znak? jak tak robię to wywala błąd ale może jest jakiś sposób
P-105682
pekfos
» 2014-03-05 20:11:09
C/C++
case 'x':
P-105684
« 1 »
  Strona 1 z 1