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

Switch Case - zadanie domowe

Ostatnio zmodyfikowano 2016-11-15 15:03
Autor Wiadomość
Mateusz0230
Temat założony przez niniejszego użytkownika
Switch Case - zadanie domowe
» 2016-11-14 17:10:15
Siemka wszystkim!

Siedzę już około półtora godziny przy tym rozdziale i nie umiem zrobić zadania domowego, po prostu za cholerę nie mogę zrozumieć tego tematu. Jest zadanie: "Napisz prosty kalkulator dla dwóch liczb, obsługujący cztery działania matematycznie: +, -, * i /. Wykorzystaj wiedzę zdobytą z niniejszego rozdziału.". Napisałem coś takiego:

C/C++
#include <iostream>
int main()
{
    int a, b;
    std::cout << "Podaj liczbe a: " << std::endl;
    std::cin >> a;
    std::cout << "Podaj liczbe b: " << std::endl;
    std::cin >> b;
    switch( a, b )
    {
    case 12:
        std::cout << "Wynik z dodawania:" << a + b << std::endl;
        break;
       
    case 8:
        std::cout << "Wynik z odejmowania:" << a - b << std::endl;
        break;
       
    case 20:
        std::cout << "Wynik z mnozenia:" << a * b << std::endl;
        break;
       
    case 5:
        std::cout << "Wynik z dzielenia:" << a / b << std::endl;
        break;
    }
   
   
    return 0;
}

Dla Was to pewnie pestka, więc jakby ktoś mógł mi powiedzieć co tutaj źle robię, nie piszcie żebym dokładnie przeczytał jeszcze raz rozdział bo to i tak u mnie nie działa, już próbowałem parę razy i dalej to samo.
P-153690
grego
» 2016-11-14 18:27:44
A czego dokładnie nie możesz zrozumieć ? :)
P-153698
Mateusz0230
Temat założony przez niniejszego użytkownika
» 2016-11-14 19:05:51
Dokładnie to nie wiem czego nie rozumiem właśnie xD. Kod wydaje mi się dobrze napisany, ale gdy uruchomie program to nie działają te działania.. w sumie jeśli chcesz to możesz sam wkleić i zobaczyć. Z góry dzięki.
P-153699
karambaHZP
» 2016-11-14 19:30:48
nie piszcie żebym dokładnie przeczytał jeszcze raz rozdział bo to i tak u mnie nie działa, już próbowałem parę razy i dalej to samo.
Przy kolejnym czytaniu zwróć uwagę na szczegóły. Instrukcja
switch()
 przyjmuje jeden parametr, a u ciebie są dwa.
P-153701
grego
» 2016-11-14 19:42:37
Warto dodać, że case w tym przypadku zwraca uwagę co jest w 'b' a nie w 'a' ze względu na operator " , " , który powduje że case ( w tym przypadku ) zwraca uwagę na wartości te najbardziej z prawej ( nie dotyczy wywołań funkcji).
P-153703
Mateusz0230
Temat założony przez niniejszego użytkownika
» 2016-11-14 21:09:38
Dziękuje Panowie, rzeczywiście pominąłem to. No to jak mam zrobić to zadanie, żeby programik obliczał te wartości (+,-,*,/)? Jak tutaj to zmienić?
P-153707
carlosmay
» 2016-11-14 22:51:15
np. tak:
C/C++
#include <iostream>
#include <iostream>
int main()
{
    float a, b;
    char dzialanie;
    std::cout << "Podaj dane w formie: a dzialanie b " << std::endl;
    std::cin >> a >> dzialanie >> b;
   
    switch( dzialanie )
    {
    case '+':
        std::cout << "Wynik z dodawania:" << a + b << std::endl;
        break;
       
    case '-':
        std::cout << "Wynik z odejmowania:" << a - b << std::endl;
        break;
       
    case '*':
        std::cout << "Wynik z mnozenia:" << a * b << std::endl;
        break;
       
    case '/':
        if( b != 0 )
             std::cout << "Wynik z dzielenia:" << a / b << std::endl;
        else
             std::cerr << "Dzielenie przez zero jest niedozowlone.\n";
       
        break;
       
        default:
        std::cerr << "Nieznane dzialanie.\n";
        break;
    }
    return 0;
}
P-153708
Mateusz0230
Temat założony przez niniejszego użytkownika
» 2016-11-15 15:03:43
Dzięki za pomoc :D.
P-153732
« 1 »
  Strona 1 z 1