Ciao a tutti!
Ho appena iniziato a programmare in C++ su Linux e già mi sorgono i primi dubbi...
Semplicemente, ho scritto un programma la cui parte incriminata è riassumibile in queste semplici linee di codice:
Ecco il risultato dell'esecuzione:codice:#include <iostream> using namespace std; main() { while (1) { int variabile; cout << "Inserisci un numero: "; cin >> variabile; cout << "Hai scritto " << variabile << endl; } }
E continua a scrivermi "Inserisci un numero: Hai scritto 468" fino a quando non premo CTRL+C.codice:vlad@vladweider:~$ ./esempio-semplice Inserisci un numero: 6 Hai scritto 6 Inserisci un numero: 16 Hai scritto 16 Inserisci un numero: 87 Hai scritto 87 Inserisci un numero: 36 Hai scritto 36 Inserisci un numero: 98 Hai scritto 98 Inserisci un numero: 468 Hai scritto 468 Inserisci un numero: ciao Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468 Inserisci un numero: Hai scritto 468
Questo potrebbe essere evitato inserendo un if che lo fa uscire dal programma nel caso in cui la variabile abbia qualcosa di strano (tipo: sia maggiore di 999999 o qualcosa del genere).
Il fatto è che io non devo uscire dal programma: vorrei semplicemente che il valore inserito venisse ignorato e ne venisse richiesto un altro.
Insomma, come posso fare in modo che il programma non crashi o esca quando in un int viene messo qualcosa di diverso da un numero intero??
Ciao a tutti e grazie per la collaborazione