Program Kalkulator - po wybraniu odpowiedniej opcji, program nie kończy działania

0

Witam, w ramach rozgrzewki chciałem napisać pewien kalkulator i aż się zdziwiłem ze nie wychodzi jedna z części a mianowicie chodzi o opcje [5] Rezygnuj. Próbowałem ten spis robić za pomocą 5x if else lub za pomocą switch'a tak jak poniżej, błąd polega na tym ze jak wbijam opcje nr 5 to program nie kończy działania. Wie ktoś możne dlaczego?

#include <iostream>
using namespace std;

int main ()
{
    int d = 0,b = 0,dz=0,c=0;

	do
	{
		cout << "Wynik to: " << c <<endl;

		do
		{
			cin.clear();
			cin.sync();	
			cout << "Wprowadz liczbe"<<endl;
			cin >> d >> b;
		} while (cin.fail());
		
		if (d == 0 || b == 0)  break;
		
		cout << "wybierz dzialanie:	 " <<endl;
		cout << "[1] Dodawanie " <<endl;
		cout << "[2] Odejmowanie" <<endl;
		cout << "[3] Dzielenie" <<endl;
		cout << "[4] Mnożenie" <<endl;
		cout << "[5] Rezygnuj" <<endl;
		cin >> dz;

		switch (dz)
			{
		case '1' :
			c=d+b;
			break;
		case '2' :
			c= d-b;
			break;
		case '3' :
			c= d/b;
			break;
		case '4' :
			c= d*b;
			break;
		default :
			break;
		}
		if ( dz == '5') break;
	} while (1);

	system("pause");
	return 0;
}
0

Pomyliłeś int z charem.

0

Czyli jakbym usunął ' ' - przy każdej liczbie to wtedy by działało również poprawnie na int?

0

Zasadniczo, tak.

0

switch działa tylko z intami i enumami (które są jakby intami)

btw ciekawe gdzie się podziało Twoje zdziwienie przy opcjach 1-4 :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1