23/11/16 18:11
Ironman2213
Salve, ho un problema con il mio programma, ogni volta che viene inserito un numero e/o un carattere speciale nella variabile "diff" il default non lo da come soluzione sbagliata, creando poi successivamente un sacco di errori per poi darlo sbagliato solo al riavvio del while dove si trova. Qualcuno sa dirmi una soluzione ho un modo per far leggere la variabile e dare errore se non è una delle 4 soluzioni accettabili ?
-Grazie in anticipo
-Grazie in anticipo
#include <iostream> #include <string> #include <windows.h> #include <ctime> using namespace std; int main() { int punteggio; int record; string scelta; scelta = "si"; punteggio=0; record=0; while(scelta=="si" ) { int conta; string magg; string min; int diff; int num; int numins; int poss; int giusto; diff=0; poss=0; conta=0; giusto=0; system("CLS"); system("color 0a"); cout<<"Benvenuto nel gioco 'Indovina il numero' Punteggio: "<<punteggio<<endl; cout<<"Devi indovinare il numero generato tra 0 e 100"<<endl; srand((unsigned)time(NULL)); num=rand() % 100+1; cout<<" "<<endl; system("PAUSE"); system("CLS"); cout<<""; cout<<"Scegli la difficolta Punteggio: "<<punteggio<<endl; cout<<" 1-Facile (4 possibilita)"<<endl<<" 2-Media (3 possibilita)"<<endl<<" 3-Difficile (2 possibilita)"<<endl<<" 4-Impossibile (1 possibilita)"<<endl; cin>>diff; system("CLS"); switch(diff) { case (1): poss=4; break; case (2): poss=3; break; case (3): poss=2; break; case (4): poss=1; break; default: { cout<<"Difficolta non valida"; Sleep(1000); exit(0); break; } } cout<<"Difficolta impostata"; Sleep(1000); system("CLS"); while(conta<poss) { cout<<" Punteggio: "<<punteggio<<endl; cout<<"Ora prova ad indovinare il numero >> "; cin>>numins; if(numins==num) { conta=poss; giusto=1; } else { if(numins<num) { if(poss==1) system("CLS"); else { cout<<"Ci sei vicino, e' più grande "; Sleep(1500); system("CLS"); } } else { if(poss==1) system("CLS"); else { cout<<"Ci sei vicino, e' più piccolo"; Sleep(1500); system("CLS"); } } } conta=conta+1; } if(giusto==0) { cout<<"Hai terminato le possibilita a disposizione Punteggio: "<<punteggio<<endl; cout<<""; cout<<"Il numero era >> "<<num<<endl; cout<<""; cout<<"Il record attuale e' >> "<<record; Sleep(3000); } else { system("CLS"); cout<<"Hai indovinato ! Punteggio: "<<punteggio<<endl; punteggio=punteggio+1; if(record<punteggio) { cout<<"Nuovo record !"; record=punteggio; } else cout<<"Il record attuale e' >> "<<record; Sleep(2000); } system("CLS"); cout<<" Punteggio: "<<punteggio<<endl; cout<<"Vuoi rigiocare ? si/no >> "; cin>>scelta; } system("CLS"); cout<<" "; cout<<"Arrivedolci"; Sleep(1000); system("CLS"); cout<<""; cout<<"Esposito say :"<<"I TIGLI"; Sleep(1000); }
Ultima modifica effettuata da Ironman2213 23/11/16 18:15
aaa