Kalkulator i błąd ze switchem – jak go naprawić?

0

Witam
Po długiej przerwie w programowaniu tak na szybko chciałem napisać kalkulator w C++ wszystko by było dobrze gdyby nie błąd ze switchem.
Nie wiem co tam jest nie tak z nim.
Wstawiam kod:

 #include <iostream>
#include <cstdlib>
#include <cmath>
using namespace std;
int main ()
{
	            double a, b, wybor;
	            
	             cout << " Witaj " ; 
	             
	             cout << " Menu wyboru: " << endl;
	             cout << "[1.] Dodawanie " << endl;
	             cout << "[2.] Odejmowanie " << endl;
	             cout << "[3.] Mnozenie " << endl;
	             cout << "[4.] Dzielenie " << endl;
	             
	             cout << " Twój wybór to: " << endl;
	             cin >> wybor;
	             switch (wybor)
	             {
	             	case 1:
	             		cout << "Podaj pierwszą liczbę: ";
	             		cin >> a;
	             		cout << "Podaj drugą liczbę: ";
	             		cin >> b;
	             		cout << "Twój wynik to : " << a + b << endl;
	             		break;
	             		
	             		case 2:
	             			cout << "Podaj pierwszą liczbę: ";
	             			cin >> a;
	             			cout << "Podaj drugą liczbę: ";
	             			cin >> b;
	             			cout << "Twój wynik to: " << a - b << endl;
	             			break;
	             		
						 case 3:
						 cout << "Podaj pierwsza liczbę: ";
						 cin >> a;
						 cout << "Podaj drugą liczbę: ";
						 cin >> b;
						 cout << "Twój wynik to: " << a * b << endl;
						 break;
						 
						 case 4:
						 cout << "Podaj pierwszą liczbę: ";
						 cin >> a;
						 cout << "Podaj drugą liczbę: ";
						 cin >> b;
						 cout << "Twój wynik to: " << a / b << endl;
						 break;	
	             }
	             system("pause");
	             return 0;
}
0

error: switch quantity not an integer
http://en.cppreference.com/w/cpp/language/switch
Tu ^ masz napisane co może być warunkiem w switchu

any expression of integral or enumeration type, or of a class type contextually implicitly convertible to an integral or enumeration type, or a declaration of a single non-array variable of such type with a brace-or-equals initializer.

Reasumując, wystarczy zmienić typ zmiennej wybor z double na int.

0

Z tego co wiem to musi to być zmienna a zmienna jest zadeklarowana

Sorry nie widziałem że napisałeś żeby dodać "int" tylko powiedz mi co to jest za różnica między int/double/char ?
jeśli chodzi o deklaracje ?

0

Jeżeli chodzi o użycie w kodzie to praktycznie niczym się nie różnią. Stosuje się je jednak do trochę różnych celów :

  • char - używa się głównie do przechowywania znaków(liter)
  • int - liczby bez przecinka
  • double - liczby z przecinkiem
    Dokładnie jakie liczby mieszczą się w danym typie zależy od architektury chyba.
    Do tego można też dopisać jakieś dodatkowe dane, np. unsigned int - liczby całkowite nie ujemne(bez znaku -) itd. Poczytaj o typach danych.
0

Dzięki chłopaki !

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