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?