112 lines
3.7 KiB
C#
112 lines
3.7 KiB
C#
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<ID> 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<ID> 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;
|
|
}
|
|
} |