#include <print>
#include <ctime>

// Modul cs einbinden
import cs;

// Feldgroesse
constexpr int SIZE = 10;

// main Funktion
int main()
{
    // Feld anlegen
    unsigned char array[10];

    // Zufallszahlengenerator initiailisieren
    auto actTime = std::time(nullptr);
    std::srand(actTime);

    // Feld mit Zufallszahlen fuellen
    for (auto index = 0; index < SIZE; index++)
        array[index] = static_cast<unsigned char>(rand() & 0xFF);

    // Pruefsumme berechnen
    auto cs = cs::Checksum(array, SIZE);
    // Daten ueberpruefen
    if (cs::CheckData(array, SIZE, cs) == true)
        std::println("Daten sind in Ordnung.");
    else
        std::println("Daten sind fehlerhaft!");

    // Daten verfaelschen
    array[0] = ~array[0];
    // Daten erneut ueberpruefen
    if (cs::CheckData(array, SIZE, cs) == true)
        std::println("Daten sind in Ordnung.");
    else
        std::println("Daten sind fehlerhaft!");
}
