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 IdList = []; //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 i = 0; while(true) { var val = UserCreateID(); bool b = true; for(int k = 0; k < IdList.Count; k++) if(IdList[k].Birth > val.Birth) { IdList.Insert(k, val); b = false; break; } if(b) IdList.Add(val); i++; if(i >= 5) { Console.WriteLine("Möchten Sie einen weiteren Ausweis erstellen? Dann bitte Y drücken"); if(Console.ReadKey().Key != ConsoleKey.Y) break; } } //"Leichte" Möglichkeit zum Sortieren IdList.Sort((x,y) => x.Birth.CompareTo(y.Birth)); //Code ENDE //Geben Sie zum Schluss alle Ausweise aus. Nutzen Sie dafür die Methode ShowIDs(). //Code Start ShowIDs(IdList); //Code ENDE } //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("****************************"); Console.WriteLine("** AUSWEIS ID: {0} **", element.IDNumber); Console.WriteLine("****************************"); Console.WriteLine("** Vorname: " + element.Givenname); Console.WriteLine("****************************"); Console.WriteLine("** Nachname: " + element.Surname); Console.WriteLine("****************************"); Console.WriteLine("** Geburtsdatum: " + element.Birth.ToString("dd.MM.yyyy")); Console.WriteLine("****************************"); 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 _nextID = 10000; static int NextID {get {return _nextID++;}} //Code ENDE static ID UserCreateID() { //Code START var id = new ID() {IDNumber = NextID}; Console.WriteLine("Bitte Vorname angeben:"); id.Givenname = Console.ReadLine(); Console.WriteLine("Bitte Nachname angeben:"); id.Surname = Console.ReadLine(); Console.WriteLine("Bitte Geburtsdatum angeben:"); id.Birth = Convert.ToDateTime(Console.ReadLine()); return id; //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; } }