Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
1 result

Program.cs

Blame
  • Program.cs 2.97 KiB
    using System;
    
    // DoJo-Klassenaufgabe:
    
    // Programmieren Sie eine Klasse Personalausweis mit folgenden Eigenschaften
    // string name
    // int id
    // - Konstruktor: Erhält den Namen und vergibt eine neue, eindeutige Id (beginnend mit 1000)
    // - Property zum Setzen und Lesen der nächsten Id. Beim Setzen muss die Id größer sein als die bisherige Nummer!
    //      Dieses Property muss vor dem Anlegen der ersten Person aufrufbar sein!
    // - Property: Zum Lesen des Namens (kann auch als Auto-Property realisiert werden)
    // - Überladene ToString-Methode: Soll den Namen und die Id ausgeben
    #region Bürgeramt
    // Programmieren Sie zusätzlich eine Klasse Bürgeramt mit folgenden Eigenschaften
    // string ort
    // - Konstruktor, dem der Ortsname und die Anzahl der zu speichernden Personalausweise übergeben werden
    // - Methode NeuerAusweis: Erhält den Namen, legt einen neuen Pass an, speichert diesen im Feld an der 
    //      nächsten freien Stelle und liefert den Personalausweis zurück
    // - Optional: Methode AllePersos(string teilname): liefert ein Feld passender Größe mit allen 
    //      Personalausweisen zurück, die den "teilnamen" enthalten (Tipp: String-Methode contains)
    
    // Main: Legen Sie zwei Bürgerämter an (Nürnberg/Fürth) und lassen Sie für Nürnberg mehrere Pässe erzeugen
    //      Optional: Rufen Sie AllePersos mit einem passenden Teilnamen auf und geben Sie diese aus!
    #endregion
    
    namespace _01Buergeramt
    {
        class Personalausweis 
        {
            public string name { get; private set; }
            int id;
            static int naechsteId=1000;
    
            public Personalausweis(string name)
            {
                this.name = name;
                id = naechsteId++;
            }
            public static int NaechsteId {
                get => naechsteId;
                    set
                {
                    if (value >= naechsteId)
                        naechsteId = value;
                    else
                        throw new ArgumentOutOfRangeException("Wert muss größer als ... sein");
                }
            }
            public override string ToString() => $"Name: {name}  Id: {id}";
        }
        class Buergeramt
        {
            string ort;
            int anzPersonalausweise;
            Personalausweis[] ausweise;
            int aktAnz = 0;
            public Buergeramt(string ort, int anzahlPersonalausweise)
            {
                this.ort = ort;
                anzPersonalausweise = anzahlPersonalausweise;
                ausweise = new Personalausweis[anzPersonalausweise];
            }
            public Personalausweis NeuerAusweis(string name)
            {
                Personalausweis p = new Personalausweis(name);
                ausweise[aktAnz++] = p;
                return p;
            }
            public Personalausweis NeuerAusweis(Personalausweis alterPerso)
            {
                ausweise[aktAnz++] = alterPerso;
                return alterPerso;
            }
            
    
        }
        class Program
        {
            static void Main(string[] args)
            {
                Personalausweis p1 = new Personalausweis("Anton");
                Console.WriteLine(p1);
            }
        }
    }