Salve a tutti; ho riscontrato un problema nel mio programma (uso Visual C++ , win 32 console application) : quando mi viene chiesto l'input , lo scrivo, e quando premo invio , il programma non va avanti , va semplicemente a capo...
PROGRAMMA:
// FUNZIONE VALIDITA' INPUT
float check (float fInput)
{
bool bFail;
do
{
cin >> fInput;
bFail = cin.fail();
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), '\n');
if (bFail == true)
{
cout << "\nvalore inserito non valido\n" << endl;
}
}while (bFail = true);
return(fInput);
}
int _tmain(int argc, _TCHAR* argv[])
{
stop:
string sScelta;
cout << "Scegli tipo di operazione (scrivere nome per esteso) o scrivi \"chiudi\" per terminare il programma\n[scrivi \"help\" per la lsita delle operazioni disponibili]\n" << endl;
cin >> sScelta;
//ADDIZIONE
if (sScelta == "addizione")
{
float fNum1, fNum2;
//primo numero
cout << "inserisci il primo numero" << endl;
fNum1 = check (0);
//secondo numero
cout << "inserisci il secondo numero" << endl;
fNum2 = check (0);
//output
cout << fNum1 << " + " << fNum2 << " = " << fNum1 + fNum2 << endl << endl;
goto stop;
}
(il programma e' una calcolatrice di base ; uso goto semplicemente per far ritornare il programma alla scelta del tipo di operazione)