using System; using System.IO; using System.Collections.Generic; namespace Exercises_C_Sharp.E28_Classes { class Exercise_3 { public static void Start() { //Erstellen Sie eine Liste von Ausweisen (IDs) //Code START List Ausweise = new(); //Code ENDE //Der Nutzer soll nun beliebig viele Ausweise erstellen können. Achten Sie darauf, dass der Nutzer mindestens 5 Ausweise erstellen muss. Verwenden Sie die Methode UserCreateID(). Speichern Sie die Ausweise in die oben erstellte Liste, nach dem Geburtsdatum sortiert. //Code START int counter = 0; while(true) { ID tempID = UserCreateID(); bool b = true; for(int i = 0; i < Ausweise.Count; i++) { if(tempID.Birth > Ausweise[i].Birth) { Ausweise.Insert(i, tempID); b = false; break; } } if(b) Ausweise.Add(tempID); if(counter <= 5) counter++; if(counter >= 5) { Console.WriteLine("Willst Du einen weiteren Ausweis erstellen. Dann schreibe ein Y:"); if(Console.ReadKey().Key != ConsoleKey.Y) break; } } //Code ENDE //Geben Sie zum Schluss alle Ausweise aus. Nutzen Sie dafür die Methode ShowIDs(). //Code Start ShowIDs(Ausweise); //Code ENDE } //"Einfache" Weg Sortierung Ausweise.Sort((k, l) => k.Birth.CompareTo(l.Birth)); //Geben Sie in diser Methode alle Ausweise optisch ansprechend auf der Konsole aus. static void ShowIDs(List idList) { //Code START foreach(var element in idList) { Console.WriteLine("---------------------"); Console.WriteLine("Number: " + element.IDNumber); Console.WriteLine("Vornamen: " + element.Givenname); Console.WriteLine("Nachnamen: " + element.Surname); Console.WriteLine("Geburtsdatum: " + element.Birth.ToString("dd.MM.yyyy")); Console.WriteLine("---------------------"); } //Code ENDE } //Sorgen Sie dafür, dass der Anwender hier einen validen Ausweis erstellen kann. Setzen Sie die IDNumber selber. Achten Sie darauf, dass eine IDNumber mindesten 5 Zahlen beinhaltet und eindeutig sein muss. //Code START static int lastID = 10000; //Code ENDE static ID UserCreateID() { //Code START ID tempID = new(); tempID.IDNumber = lastID++; Console.WriteLine("Bitte Vorname angeben:"); tempID.Givenname = Console.ReadLine(); Console.WriteLine("Bitte Nachname angeben:"); tempID.Surname = Console.ReadLine(); Console.WriteLine("Bitte Geburtsdatum angeben:"); tempID.Birth = Convert.ToDateTime(Console.ReadLine()); return tempID; //Code ENDE } //Code START //Code ENDE } class ID { public int IDNumber = -1; public string? Surname = null; public string? Givenname = null; public DateTime Birth = DateTime.MinValue; } }