Zadanie - rozdział 1 lekcja 14
Ostatnio zmodyfikowano 2016-08-10 17:41
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; } |
|
kistel66 |
» 2016-08-01 19:10:54 #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; 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; }
|
|
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; }
|
|
karambaHZP |
» 2016-08-02 19:14:38 Demolka chociaż sformatuj kod. Rozwiązanie problemu piętro wyżej. |
|
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 |
|
karambaHZP |
» 2016-08-03 00:09:54 |
|
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 :) |
|
« 1 » |