Witam ponownie,
postanowiłem napisać program-kalkulator, który sczytuje kolejno pierwszą liczbę (numA), drugą liczbę (numB), a następnie znak działania, które ma być na nich przeprowadzone (znak). Switch wymaga posługiwania się integerami, więc poczytałem co nieco i znak działania w programie przedstawiam jako kod ASCII (użytkownik oczywiście wprowadza + - * lub / ).
Po pobraniu w/w danych od użytkownika program wyświetla ułożone działanie i pyta, czy o to chodziło (test).
Z jakichś powodów program wysypuje się nim zdążę wprowadzić wartość t lub n (na potrzeby case'ów przemienione na odpowiedniki ASCII)... Sądzę, że wszystko dobrze zagnieździłem i napisałem, proszę o pomoc.
#include <iostream>
using namespace std;
int main()
{
int numA, numB, test, znak;
cout << "\tPodaj dwie liczby...\n";
cout << endl << "Pierwsza: ";
cin >> numA;
cout << endl << "Druga: ";
cin >> numB;
cout << endl << "Dzialanie: ";
cin >> znak;
cout << endl << numA << " " << znak << " " << numB;
cout << "\tOK?\t(t/n)";
cin >> test;
switch (test)
{
case 116:
switch (znak)
{
case 043:
cout << "\n\tWynik: " << numA + numB;
cout << endl << endl;
break;
case 045:
cout << "\n\tWynik: " << numA - numB;
cout << endl << endl;
break;
case 042:
cout << "\n\tWynik: " << numA * numB;
cout << endl << endl;
break;
case 047:
cout << "\n\tWynik: " << numA / numB;
cout << endl << endl;
break;
default:
cout << "Blad uzytkownika programu!\n";
break;
}
case 110:
cout << "\tPodaj dwie liczby...\n";
cout << endl << "Pierwsza: ";
cin >> numA;
cout << endl << "Druga: ";
cin >> numB;
cout << endl << "Działanie: ";
cin >> znak;
cout << endl << numA << " " << znak << " " << numB;
cout << "\tOK?\t(t/n)";
cin >> test;
break;
default:
cout << "Blad uzytkownika programu!\n";
break;
}
system ("PAUSE");
return 0;
}