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

Problem z kalkulatorem

Ostatnio zmodyfikowano 2013-08-19 21:26
Autor Wiadomość
Turtlix21
Temat założony przez niniejszego użytkownika
Problem z kalkulatorem
» 2013-08-19 20:54:46
Nwm co jest źle w tym kodzie (to ma być prymitywny kalkulator)
C/C++
#include <iostream>
int main()
{
    std::cout << "Podaj pierwszy skladnik: ";
    int dzialanie;
    std::cin >> dzialanie;
    std::cout << std::endl;
    std::cout << "Jakiego znaku matematycznego chesz teraz uzyc ? " << std::endl << std::endl << "mnozenie - 1" << std::endl << "dzielenie - 2" << std::endl << "odejmowanie - 3" << std::endl << "dodawanie - 4" << std::endl;
    char znak;
    std::cin >> znak;
    std::cout << std::endl;
    std::cout << "Podaj drugi skladnik: ";
    int dzialanie2;
    std::cin >> dzialanie2;
    int wynik;
    if( znak == '1' )
    {
        wynik = dzialanie + dzialanie2;
        std::cout << std::endl << "Wynik dzialania " << dzialanie << "+" << dzialanie2 << " to " << wynik << std::endl << "(" << dzialanie << "+" << dzialanie2 << "=" << wynik << ")";
    }
    if( znak == '3' )
    {
        wynik = dzialanie - dzialanie2;
        std::cout << std::endl << "Wynik dzialania " << dzialanie << "-" << dzialanie2 << " to " << wynik << std::endl << "(" << dzialanie << "-" << dzialanie2 << "=" << wynik << ")";
    }
    if( znak == '2' )
    {
        wynik = dzialanie / dzialanie2;
        std::cout << std::endl << "Wynik dzialania " << dzialanie << ":" << dzialanie2 << " to " << wynik << std::endl << "(" << dzialanie << ":" << dzialanie2 << "=" << wynik << ")";
    }
    if( znak == '1' )
    {
        wynik = dzialanie * dzialanie2;
        std::cout << std::endl << "Wynik dzialania " << dzialanie << "x" << dzialanie2 << " to " << wynik << std::endl << "(" << dzialanie << "x" << dzialanie2 << "=" << wynik << ")";
    }
    std::cout << std::endl << std::endl << std::endl << "Kunjec";
    return 0;
}
EFEKT JEST TAKI:
P-90565
b00rt00s
» 2013-08-19 21:09:22
Przy dodawaniu sprawdzasz warunek:
if( znak == '1' )
 a powinno być:
if( znak == '4' )

Żądana operacja dodawania się zwyczajnie nie wykonuje. Aby unikać takich błędów powinieneś zapisać kody operacji w zmiennej i korzystać z niej zarówno przy wypisywaniu komunikatu na ekran, jak również przy sprawdzaniu warunków. Jeśli jakaś wartość występuje w kodzie min. dwa razy, to nie powinno się jej zapisywać statycznie, ale w postaci zmiennej (z modyfikatorem const, jeśli nie powinna ulegać zmianie, tak jak w Twoim programie).
P-90566
Turtlix21
Temat założony przez niniejszego użytkownika
FACEPALM !
» 2013-08-19 21:26:03
Ale głupi błąd, po prostu godny FACEPALM'A !|

Wielkie dzięki za pomoc b00rt00s !
P-90567
« 1 »
  Strona 1 z 1