Ho provato a richiedere all'utente l'input e a effettuare la convalida. Ad esempio, il mio programma deve contenere 3 input utente. Una volta che non ha numero intero, stamperà un messaggio di errore e richiederà di nuovo l'input. Ecco come il mio programma sta per essere simile a quando l'esecuzione:Convalida numero intero per input
Inserire il numero: un
ingresso sbagliato
Inserire il numero: 1
Inserire il numero di: b
sbagliato input
Inserire numero: 2
Inserisci numero: 3
numeri inseriti sono 1,2,3
E qui è il mio codice:
double read_input()
{
double input;
bool valid = true;
cout << "Enter number: " ;
while(valid){
cin >> input;
if(cin.fail())
{
valid = false;
}
}
return input;
}
mio metodo principale:
int main()
{
double x = read_input();
double y = read_input();
double z = read_input();
}
Quando il mio il primo input non è intero, il programma esce solo da solo. Non chiede di nuovo il prompt. Come ho potuto ripararlo? O dovrei usare un ciclo while mentre chiedo l'input dell'utente.
Grazie in anticipo.
dobbiamo vedere più codice .. lo hai controllato con un debugger? potrebbe essere un crash ... –
all'interno del metodo principale, scrivo solo double x = read_input(); double y = read_input(); double z = read_input(); Sto facendo nel modo sbagliato? –