From 1ba5f102f561372d9ae5ad038f6cc8cf3ceedc35 Mon Sep 17 00:00:00 2001 From: sebi Date: Mon, 17 Mar 2025 17:10:47 +0100 Subject: [PATCH] E28 Ex3 --- Exercises/E28_Classes/Exercise_3.cs | 63 ++++++++++++++++++++++++++--- lastPoint | 4 +- 2 files changed, 60 insertions(+), 7 deletions(-) diff --git a/Exercises/E28_Classes/Exercise_3.cs b/Exercises/E28_Classes/Exercise_3.cs index edaeafa..a642628 100644 --- a/Exercises/E28_Classes/Exercise_3.cs +++ b/Exercises/E28_Classes/Exercise_3.cs @@ -10,17 +10,44 @@ namespace Exercises_C_Sharp.E28_Classes { //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(); + ShowIDs(IdList); //Code ENDE } @@ -28,18 +55,44 @@ namespace Exercises_C_Sharp.E28_Classes 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 - return new ID(); + 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 } @@ -52,7 +105,7 @@ namespace Exercises_C_Sharp.E28_Classes class ID { public int IDNumber = -1; - public string? Prename = null; + public string? Surname = null; public string? Givenname = null; public DateTime Birth = DateTime.MinValue; } diff --git a/lastPoint b/lastPoint index 5d20226..d0fdcda 100644 --- a/lastPoint +++ b/lastPoint @@ -1,2 +1,2 @@ -5 -17 +2 +27