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

Znak jako zmienna

Ostatnio zmodyfikowano 2013-11-22 18:09
Autor Wiadomość
Zdziwiony
Temat założony przez niniejszego użytkownika
Znak jako zmienna
» 2013-11-22 17:49:58
Witam chcę zrobić sobie taki prosty konsolowy kalkulator :)

Moim problemem jest to, że nie potrafię "wkomponować" zmiennej jako znaczka oznaczającego dane działanie, chce żeby było to coś takiego:
cout << "wynik=" << zmienna1 << "Tu ma byc +,-,* itp." << zmienna2;


Zakodziłem coś takiego:
C/C++
#include <iostream>
#include <windows.h>
#include <conio.h>

using namespace std;
int main()
{
    do {
        unsigned char znak;
        int zmienna1;
        int zmienna2;
        char dzialanie;
        SetConsoleTitleA( "Kalkulator" );
        cout <<( "Podaj dzialanie do wykonania!\n" );
        cin >> zmienna1;
        cout <<( "Podaj druga liczbe!\n" );
        cin >> zmienna2;
        cout <<( "Podaj znak!\n" );
        cin >> dzialanie;
        cout << "wynik=" << zmienna1 << dzialanie << zmienna2;
        znak = getch();
        system( "cls" );
    } while( true );
   
    return 0;
}

I tu moje pytanie, jak zapisać linijkę
cout << "wynik=" << zmienna1 << dzialanie << zmienna2;
, aby zamiast zmiennej DZIALANIE był tu znak + ? :) Jeśli wpisze + przy powyższym kodzie to program wyświetli np. wynik=2+1 lub wynik=5*5, a mi chodzi o to, żeby program to policzył :) Jak to zapisać ?

Pozdrawiam

P-97055
dambo
» 2013-11-22 17:53:00
do zmiennej działanie wczytaj normalny znak np "+" i dorób tam switcha, który w zależności od znaku bezie robił daną operację, a wyświetlenie zmiennej znakowej to żaden problem
P-97056
Zdziwiony
Temat założony przez niniejszego użytkownika
» 2013-11-22 17:57:52
Tak, wiem, że wyświetlenie zmiennej znakowej to żaden problem ;)
Chodzi mi o to, żeby program zadziałał tak:

Podaj pierwsza liczbe!:
podaje 2
Podaj druga liczbe !:
Podaje 1
Podaj znak!:
Podaje *
Wynik = 2

lub

Podaj pierwsza liczbe!:
podaje 2
Podaj druga liczbe !:
Podaje 1
Podaj znak!:
Podaje +
Wynik = 3

itd.
P-97058
kubek3898
» 2013-11-22 18:00:03
Użytkownik dambo dobrze Ci napisał, tylko Ty go źle zrozumiałeś.

C/C++
switch( dzialanie )
{
case '+':
    suma = a + b;
    break;
case '-':
    suma = a - b;
    break;
case '*':
    suma = a * b;
    break;
case '/':
    suma = a / b;
    break;
default:
    suma = 0;
    break;
}

Później wystarczy tylko wyświetlić zmienną suma.
P-97060
dambo
» 2013-11-22 18:01:48

switch (znak)
{
    case '+':
        wynik = a+b;
        break;
    case '-':
// i tak dalej
}

Myślę, że to pomoże :)

edit:
ehh ubiegłeś mnie :)
P-97061
Zdziwiony
Temat założony przez niniejszego użytkownika
» 2013-11-22 18:09:20
Serdeczne dzięki wszystko działa jak chciałem serdeczne dzięki :D
P-97064
« 1 »
  Strona 1 z 1