Oplossingen H18

Boekencollectie

static void Main(string[] args)
{
    const string boekenDB = "boeken.txt";
    while (true)
    {
        Console.WriteLine("\n1. Nieuw boek toevoegen");
        Console.WriteLine("2. Boek verwijderen");
        Console.WriteLine("3. Alle boeken weergeven");
        Console.WriteLine("4. Programma afsluiten");
        Console.Write("Maak een keuze: ");
        int keuze = int.Parse(Console.ReadLine());

        switch (keuze)
        {
            case 1:
                NieuwBoekToevoegen(boekenDB);
                break;
            case 2:
                BoekVerwijderen(boekenDB);
                break;
            case 3:
                AlleBoekenWeergeven(boekenDB);
                break;
            case 4:
                return;
            default:
                Console.WriteLine("Ongeldige keuze.");
                break;
        }
    }
}

static void NieuwBoekToevoegen(string boekDb)
{
    Console.Write("Titel: ");
    string titel = Console.ReadLine();
    Console.Write("Auteur: ");
    string auteur = Console.ReadLine();
    Console.Write("Jaar: ");
    string jaar = Console.ReadLine();

    string boek = $"{titel};{auteur};{jaar}";
    File.AppendAllText(boekDb, boek + Environment.NewLine);
    Console.WriteLine("Boek toegevoegd!");
}

static void BoekVerwijderen(string boekDb)
{
    Console.Write("Titel van het boek dat je wilt verwijderen: ");
    string titel = Console.ReadLine();

    if (!File.Exists(boekDb))
    {
        Console.WriteLine("Boekenbestand niet gevonden!");
        return;
    }

    var boeken = File.ReadAllLines(boekDb).ToList();
    bool boekGevonden = false;
    int teller = 0;
    while (teller < boeken.Count && !boekGevonden)
    {
        if (boeken[teller].StartsWith(titel + ";"))
        {
            boeken.RemoveAt(teller);
            boekGevonden = true;
        }
        teller++;
    }

    if (boekGevonden)
    {
        File.WriteAllLines(boekDb, boeken);
        Console.WriteLine("Boek verwijderd!");
    }
    else
    {
        Console.WriteLine("Boek niet gevonden!");
    }
}

static void AlleBoekenWeergeven(string boekDb)
{
    if (!File.Exists(boekDb))
    {
        Console.WriteLine("Boekenbestand niet gevonden!");
        return;
    }

    var boeken = File.ReadAllLines(boekDb);

    foreach (var boek in boeken)
    {
        var gegevens = boek.Split(';');
        Console.WriteLine($"Titel: {gegevens[0]}, Auteur: {gegevens[1]}, Jaar: {gegevens[2]}");
    }
}

Bitmap header analyzer

Last updated

Was this helpful?