Dzień dobry,
Kontynuując naukę po chwilach zwątpienia postanowiłem jeszcze raz bliżej przyjrzeć się opcji switch oraz po tym jak obejrzałem odcinek kursu samemu spróbować odtworzyć program. Nie udało mi się tego zrobić przez pewne przeoczenie, więc wróciłem do odcinka i resztę zrobiłem razem P. Zelentem. Niestety pojawił się mały problem:
#include <iostream>
#include <cstdlib>
#include <conio.h>
#include <stdio.h>
using namespace std;
float x,y;
char wybor;
int main()
{
cout << "Kalkulator z podstawowym menu\n"
<< "Eliot Beker\n"
<< "2016-11-04"<<endl;
while (true)
{
cout <<endl;
cout << "Podaj pierwsza wartosc: ";
cin >> x;
cout << "Podaj druga wartosc: ";
cin>> y;
cout <<endl;
cout << "* Menu glowne *\n"
<< "* 1. Dodawanie *\n"
<< "* 2. Odejmowanie *\n"
<< "* 3. Mnozenie *\n"
<< "* 4. Dzielenie *\n"
<< "* 5. Koniec programu*\n";
cout<<endl;
wybor = getchar();
switch(wybor)
{
case '1':
{
cout << "Suma = "<<x+y;
}
break;
case '2':
{
cout << "Roznica = "<<x-y;
}
break;
case '3':
{
cout << "Iloczyn = "<<x*y;
}
break;
case '4':
{
if (y==0)
{
cout << "Nie dzielimy przez 0!";
}
else
{
cout << "Iloraz = "<<x/y;
}
}
break;
case '5':
{
exit(0);
}
break;
default:
{
cout << "Nie ma takiej liczby";
}
break;
}
getchar();getchar();
system("cls");
}
return 0;
}
Nie rozumiem czemu w wypadku tego programu nie mam możliwości wyboru. Zanim wprowadziłem opcję getchar(), program działał bez zarzutu, gdy dodałem getchar() program po odczytaniu liczb x i y odrazu wczytuję opcję default. Nie mogę dojść co jest źle w tym co napisałem i gdzie popełniłem błąd przy przepisywaniu rozwiązanego przykładu z tablicy.
Proszę o pomoc.