Walidacja danych wejściowych
Część sekcji Podstawy ścieżki C w Coddy. Lekcja 35 z 63.
Podczas przyjmowania danych wejściowych od użytkowników ważne jest, aby przed użyciem ich w programie sprawdzić, czy są prawidłowe.
Do walidacji danych wejściowych typu całkowitego możesz sprawdzić wartość zwracaną przez scanf:
int number;
int result = scanf("%d", &number);Funkcja scanf zwraca liczbę pomyślnie wczytanych elementów:
if (result == 1) {
// Dane wejściowe zostały pomyślnie odczytane
printf("Valid input: %d\n", number);
} else {
// Dane wejściowe były nieprawidłowe
printf("Invalid input!\n");
}Do walidacji zakresu użyj instrukcji warunkowych po odczytaniu danych wejściowych:
if (number >= 1 && number <= 100) {
printf("Number is within valid range (1-100)\n");
} else {
printf("Number is outside valid range!\n");
}Wyzwanie
ŁatwyNapisz program, który odczytuje od użytkownika liczbę całkowitą i sprawdza ją na dwa sposoby:
- Sprawdź, czy dane wejściowe są liczbą całkowitą (używając wartości zwracanej przez scanf)
- Sprawdź, czy liczba całkowita mieści się w przedziale od 10 do 50 (włącznie)
Twój program powinien wypisać:
- "Valid input!", jeśli dane wejściowe są prawidłową liczbą całkowitą z przedziału od 10 do 50.
- "Invalid input type!", jeśli dane wejściowe nie są liczbą całkowitą.
- "Out of range!", jeśli dane wejściowe są liczbą całkowitą, ale nie mieszczą się w przedziale od 10 do 50.
Spróbuj swoich sił
#include <stdio.h>
int main() {
// Napisz tutaj swój kod
return 0;
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
2Zmienne
Typy danychLiczby całkowiteLiczby zmiennoprzecinkowe — float i doubleZnakiWartości logiczneStałePodstawy printfZasady nazewnictwa zmiennychKonwersja typów — część 1Konwersja typów — część 2Wyzwanie podsumowujące5Wejście i wyjście
Specyfikatory formatuPodstawy scanfWyzwanie powtórkowe nr 1Walidacja danych wejściowychWyzwanie powtórkowe nr 23Operatory
Operatory arytmetyczneOperator moduloInkrementacja/dekrementacjaOperatory przypisaniaOperatory relacyjneOperatory logiczne — część 1Operatory logiczne — część 2Operatory logiczne — część 3Wyzwanie podsumowującePoćwicz samodzielnie: Kompilator C online