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

Zadanie - rozdział 1 lekcja 14

Ostatnio zmodyfikowano 2016-08-10 17:41
Autor Wiadomość
bkjg
Temat założony przez niniejszego użytkownika
Zadanie - rozdział 1 lekcja 14
» 2016-08-01 19:07:45
Witam, mam problem z programem. Otóż ogólnie działa, kompilacja przebiega bez problemów, ale jednak program wyświetla zły wynik. Sprawdzałam kilka razy, ale błędu w kodzie znaleźć nie mogę. Moglibyście spróbować pomóc w znalezieniu przyczyny problemu?

PS Wiem, że można było kod napisać prościej i krócej :)

#include <iostream>

int main ()
{
std::cout << "Witaj w prostym kalkulatorze! Wybierz numer czynnosci, ktora chcesz wykonac:" << std::endl;
std::cout << "[1]Dodawanie" << std::endl;
std::cout <<"[2]Odejmowanie " << std::endl;
std::cout <<"[3]Mnozenie" << std::endl;
std::cout <<"[4]Dzielenie"  << std::endl;
int Typ_dzialania ;
int a;
char b;
std::cin >> Typ_dzialania;
switch (Typ_dzialania)
{
case 1:
std::cout << "Podaj a: "<< std::endl;
std::cin >> a;
std::cout << "Podaj b: " << std::endl;
std::cin >> b;
std::cout << "a+b="<< a+b << std::endl;
break;

case 2:
std::cout << "Podaj a: "<< std::endl;
std::cin >> a;
std::cout << "Podaj b: " << std::endl;
std::cin >> b;
std::cout << "a-b= "<< a-b << std::endl;
break;

case 3:;
std::cout << "Podaj a: "<< std::endl;
std::cin >> a;
std::cout << "Podaj b: " << std::endl;
std::cin >> b;
std::cout << "a*b= "<< a*b << std::endl;
break;

case 4:
std::cout << "Podaj a: "<< std::endl;
std::cin >> a;
std::cout << "Podaj b: " << std::endl;
std::cin >> b;
std::cout << "a/b= "<< a/b << std::endl;
break;

default:
std::cout << "Czyli jednak nie chcesz liczyc :(";
}
return 0;
}
P-150474
kistel66
» 2016-08-01 19:10:54
C/C++
#include <iostream>

int main()
{
    std::cout << "Witaj w prostym kalkulatorze! Wybierz numer czynnosci, ktora chcesz wykonac:" << std::endl;
    std::cout << "[1]Dodawanie" << std::endl;
    std::cout << "[2]Odejmowanie " << std::endl;
    std::cout << "[3]Mnozenie" << std::endl;
    std::cout << "[4]Dzielenie" << std::endl;
    int Typ_dzialania;
    int a;
    int b; ///zamiana char b na int b
    std::cin >> Typ_dzialania;
    switch( Typ_dzialania )
    {
    case 1:
        std::cout << "Podaj a: " << std::endl;
        std::cin >> a;
        std::cout << "Podaj b: " << std::endl;
        std::cin >> b;
        std::cout << "a+b=" << a + b << std::endl;
        break;
       
    case 2:
        std::cout << "Podaj a: " << std::endl;
        std::cin >> a;
        std::cout << "Podaj b: " << std::endl;
        std::cin >> b;
        std::cout << "a-b= " << a - b << std::endl;
        break;
       
    case 3:;
        std::cout << "Podaj a: " << std::endl;
        std::cin >> a;
        std::cout << "Podaj b: " << std::endl;
        std::cin >> b;
        std::cout << "a*b= " << a * b << std::endl;
        break;
       
    case 4:
        std::cout << "Podaj a: " << std::endl;
        std::cin >> a;
        std::cout << "Podaj b: " << std::endl;
        std::cin >> b;
        std::cout << "a/b= " << a / b << std::endl;
        break;
       
    default:
        std::cout << "Czyli jednak nie chcesz liczyc :(";
    }
    return 0;
}
P-150475
Demolka
» 2016-08-02 19:06:59
zamień char b na int b lub odejmij zawsze 48 od twojego char b (w przypadku odejmowania dodaj 48) wynika to że char jest powiązany z kodem ascii i te liczby są zapisane trochę inaczej zobacz sobie w google jak to wygląda
dodam jeszcze pomocniczy kod z tym trudniejszym rozwiązaniem jeżeli tak bardzo ci zależy żeby b było charem

#include <iostream>

int main ()
{
std::cout << "Witaj w prostym kalkulatorze! Wybierz numer czynnosci, ktora chcesz wykonac:" << std::endl;
std::cout << "[1]Dodawanie" << std::endl;
std::cout <<"[2]Odejmowanie " << std::endl;
std::cout <<"[3]Mnozenie" << std::endl;
std::cout <<"[4]Dzielenie"  << std::endl;
int Typ_dzialania ;
int a;
char b;
std::cin >> Typ_dzialania;
switch (Typ_dzialania)
{
case 1:
std::cout << "Podaj a: "<< std::endl;
std::cin >> a;
std::cout << "Podaj b: " << std::endl;
std::cin >> b;
std::cout << "a+b="<< a+b-48 << std::endl;
break;

case 2:
std::cout << "Podaj a: "<< std::endl;
std::cin >> a;
std::cout << "Podaj b: " << std::endl;
std::cin >> b;
std::cout << "a-b= "<< a-b+48 << std::endl;
break;

case 3:;
std::cout << "Podaj a: "<< std::endl;
std::cin >> a;
std::cout << "Podaj b: " << std::endl;
std::cin >> b;
std::cout << "a*b= "<< a*(b-48) << std::endl;
break;

case 4:
std::cout << "Podaj a: "<< std::endl;
std::cin >> a;
std::cout << "Podaj b: " << std::endl;
std::cin >> b;
std::cout << "a/b= "<< a/(b-48) << std::endl;
break;

default:
std::cout << "Czyli jednak nie chcesz liczyc :(";
}
return 0;
}
P-150495
karambaHZP
» 2016-08-02 19:14:38
Demolka chociaż sformatuj kod. Rozwiązanie problemu piętro wyżej.
P-150498
Demolka
» 2016-08-02 19:18:16
No mógłbym ale nie teraz, a mógłbyś mi powiedzieć jak to robią ludzie że kod inaczej wygląda (tak jak wyjęty z programu) albo jak nie którzy cytują kogoś wypowiedź to jest w jakiej pomarańczowej ramce
P-150499
karambaHZP
» 2016-08-03 00:09:54
P-150518
bkjg
Temat założony przez niniejszego użytkownika
Działa
» 2016-08-10 17:41:20
Dziękuję Wam za pomoc, program działa :)
P-150711
« 1 »
  Strona 1 z 1