Próbowałem monitować użytkownika o wprowadzenie danych i przeprowadzić sprawdzanie poprawności. Na przykład mój program musi przyjąć 3 dane wejściowe użytkownika. Po osiągnięciu wartości niecałkowitej, wyświetli komunikat o błędzie i ponownie poprosi o wprowadzenie danych. Oto jak mój program będzie wyglądać, gdy uruchomiony:Walidacja liczb całkowitych dla danych wejściowych
Wprowadź numer: a
błędne wprowadzanie
Wprowadź numer: 1
Wprowadź numer: b
Niewłaściwy input
Wprowadź numer: 2
Wprowadź numer: 3
Numery wpisane są 1,2,3
I tu jest mój kod:
double read_input()
{
double input;
bool valid = true;
cout << "Enter number: " ;
while(valid){
cin >> input;
if(cin.fail())
{
valid = false;
}
}
return input;
}
Moim głównym metoda:
int main()
{
double x = read_input();
double y = read_input();
double z = read_input();
}
kiedy mój pierwsze wejście nie jest liczbą całkowitą, program po prostu wychodzi samoczynnie. Nie prosi o ponowne zapytanie. Jak mogłem to naprawić? Czy powinienem użyć pętli do while, ponieważ pytam o dane wejściowe użytkownika.
Z góry dziękuję.
musimy zobaczyć więcej kodu ... czy sprawdziłeś go za pomocą debuggera? może być crash ... –
wewnątrz głównej metody Właśnie napisałem double x = read_input(); double y = read_input(); double z = read_input(); Czy robię złą drogę? –