Menu
Coddy logo textTech

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");
}
challenge icon

Wyzwanie

Łatwy

Napisz program, który odczytuje od użytkownika liczbę całkowitą i sprawdza ją na dwa sposoby:

  1. Sprawdź, czy dane wejściowe są liczbą całkowitą (używając wartości zwracanej przez scanf)
  2. 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;
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator C online