Witaj, pobawiłem się trochę z Twoim kodem. Otóż żeby nie było trzeba klikać spacji, zamieniłem int wybor na char wybor, nastepnie zamiast cin >> wybor, ustawilem wybor=_getch(), podejrzewam, że wiesz co trzeba w switchu zmienić.. więc nie będę tego tłumaczyć (nie zapomnij o bibliotece conio.h).
Następna podpowiedź: zamiast robić niepotrzebnie int liczba & liczba2, po prostu przy działaniach, wpisuj same nazwy metod, czyli suma = wczytajliczbe() + wczytajliczbe2() ----- i tak w każdym.
Nie kopiuj kodu, bo usunąłem z niego wszystkie składniki biblioteki limits, ponieważ szukałem błędu z różnych perspektyw. Miłego kodowania!
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <limits>
#include <conio.h>
using namespace std;
int wczytajliczbe()
{
int a;
do {
bool blad = cin.fail();
cin.clear();
cout << "Podaj liczbe: ";
} while (!(cin >> a));
return a;
}
int wczytajliczbe2()
{
int b;
do {
bool blad = cin.fail();
cin.clear();
cout << "Podaj liczbe2: ";
} while (!(cin >> b));
return b;
}
int main()
{
char wybor;
cout << "[1] Dodawanie" << endl;
cout << "[2] Odejmowanie" << endl;
cout << "[3] Mnozenie" << endl;
cout << "[4] Dzielenie" << endl;
cout << "[5] Rezygnuj" << endl;
int suma;
cout << "Wybierz opcje: ";
wybor = _getch();
switch (wybor)
{
case '1':
suma = wczytajliczbe() + wczytajliczbe2();
cout << suma << endl;
break;
case '2':
suma = wczytajliczbe() + wczytajliczbe2();
cout << suma << endl;
break;
case '3':
suma = wczytajliczbe() + wczytajliczbe2();
cout << suma << endl;
break;
case '4':
if ( wczytajliczbe() != 0)
{
suma = wczytajliczbe() / wczytajliczbe2();
cout << suma << endl;
}
else
{
cout << "Nie wolno :P";
}
break;
default: cout << "c4";
}
return 0;
}