# Oefeningen H18

## Boekencollectie (Essential)

Maak een applicatie die een gebruiker in staat stelt om zijn/haar boekencollectie te beheren. De boekengegevens worden opgeslagen in een tekstbestand op de computer. De gebruiker moet boeken kunnen toevoegen, verwijderen, en de volledige lijst van boeken kunnen bekijken.

De applicatie moet de volgende menu-opties bieden:

1. Een nieuw boek toevoegen
2. Een boek verwijderen
3. Alle boeken weergeven
4. Programma afsluiten

Elke regel in het tekstbestand (boeken.txt) representeert een boek in het volgende formaat: Titel;Auteur;Jaar

Bijvoorbeeld:

```
De Hobbit;J.R.R. Tolkien;1937
Harry Potter en de Steen der Wijzen;J.K. Rowling;1997
Het Leven van Pi;Yann Martel;2001
```

## IMDB Top 100 JSON

## Bitmap header analyzer

## De Digitale Klokkenluider (*Final Essentials*, GPT)

*Een klokkenluider heeft je een **USB-stick** gegeven. De stick zit vol met mappen, submappen, en ergens daartussen verstopt zitten de bewijsstukken. Aan jou om de chaos in kaart te brengen en de belastende bestanden te vinden.*

### De Voorbereiding

1. Download het script [genereer\_bewijsmateriaal.bat](https://gist.github.com/timdams/b1eea362ad7b661e8edcda84c6a08792).
2. Plaats het in de map van je project (naast je `.sln` file of in `bin/Debug`).
3. Dubbelklik erop om de map `CorruptCorp` te genereren.

### Stap 1: The Scanner (Directory Traversal)

Schrijf een methode `ScanDirectories(string startPath)`:

* Deze methode doorzoekt **recursief** de map `CorruptCorp` en al zijn submappen.
* Voor **elk bestand** dat hij tegenkomt:
  * Print het volledige pad.
  * Print de bestandsgrootte.
  * Als de bestandsnaam het woord "log" of "csv" bevat, roep je de `AnalyzeFile` methode aan (zie stap 2).

### Stap 2: The Analyzer (File Reading)

Schrijf de methode `AnalyzeFile(string filePath)`:

* Opent het bestand en leest het **regel per regel** in.
* Zoekt naar sensitieve woorden: "SECRET", "BRIBE", "TOXIC".
* Als een verdacht woord gevonden wordt:
  * Print: "🚨 CRITICAL EVIDENCE FOUND IN \[Bestandsnaam]: \[Regelnummer] -> \[De verdachte regel]"
  * Voegt deze regel toe aan een **Lijst van Bewijsmateriaal**.

### Stap 3: The Report (File Writing)

Aan het einde van het programma:

* Als er bewijsmateriaal is gevonden, genereer dan automatisch een bestand `FINAL_REPORT.txt` in de hoofdmap van je project.
* Schrijf hierin:
  * De datum van vandaag.
  * Aantal doorzochte bestanden.
  * Een opsomming van alle gevonden verdachte regels en hun bronbestand.
