ragazzi ho un problemino:
eseguendo questo codice da un main succede funziona e tutto ok, ma se per caso, invece di inserire un numero, inserisco un carattere letterale, mi entra in un ciclo infinito stampandocodice:#include <iostream> using std::cout; using std::cin; using std::endl; #include <cstdlib> using std::rand; using std::srand; #include <ctime> using std::time; #include "educational.h" educational::educational(){ srand( time ( 0 ) ); int n1 = 1 + rand() % 9; int n2 = 1 + rand() % 9; int input = getMessage(n1, n2); int multiplex = n1*n2; while (!verifica(input, multiplex)){ input=getError(); } cout<<input; cout<<"Complimenti, la tua risposta e' esatta!"<<endl; } int educational::getMessage(int n1, int n2){ int num; cout<<"Quanto fa "<<n1<<" per "<<n2<<"?"<<endl; cin>>num; return num; } bool educational::verifica(int input, int multiplex){ return (input == multiplex); } int educational::getError(){ cout<<"Hai sbagliato, prova ancora:"<<endl; int input; cin>>input; return input; }
Hai sbagliato, prova ancora:
Hai sbagliato, prova ancora:
Hai sbagliato, prova ancora:
Hai sbagliato, prova ancora:
Hai sbagliato, prova ancora:
Hai sbagliato, prova ancora:
e così via fino all'infinito cosa diamine succede??


Rispondi quotando


