Witam,
Na filmiku C++ odc. 6 jest informacja o tym, że SWITCH działa tylko z liczbami całkowitymi z int i char.
float zgodnie z filimikiem ma nie dzialać, czyli liczby ulamkowe odpadają.
Chciałem się pobawić i dałem programowi long double i setprecission(1000000),
dałem kalkulatorowi do przemonozenia spore ułamki i dziala.
Czy long double zastepuje te mozliwość podawania ulamkow z float w SWITCH?
ponizej moj kod:
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <cstdlib>
#include <conio.h>
using namespace std;
long double x,y;
char wybor;
int main()
{
for(;;)
{
cout << "Podaj liczbe nr 1: ";
cin>> x;
cout<< "Podaj liczbe nr 2: ";
cin>>y;
cout<<endl;
cout<< "Menu Glowne"<<endl;
cout<<"-------------"<<endl;
cout<<"1. Dodawanie."<<endl;
cout<<"2. Odejmowanie."<<endl;
cout<<"3. Mnozenie."<<endl;
cout<<"4. Dzielenie."<<endl;
cout<<"5. Koniec programu."<<endl;
cout<<endl;
cout<<setprecision(100000);
wybor=getch();
switch(wybor)
{
case '1':
cout<<"Suma = "<<x+y;
break;
case '2':
cout<<"Roznica = "<<x-y;
break;
case '3':
cout<<"Mnozenie = "<<x*y;
break;
case '4':
if (y==0) cout<<"Nie dzielimy przez zero!";
else cout<<"Iloraz = "<<x/y;
break;
case '5':
exit(0);
default:
cout<<"Nie ma takiej opcji w menu";
}
getchar();getchar();
system("cls");
}
return 0;
}
***zresztą float tez tutaj dziala.
Czy fakt, że wsadzamy SWITCH w FOR coś zmienia?