C# :: Aufgabe #105 :: Lösung #6

11 Lösungen Lösungen öffentlich
#105

Das Array-Telefonbuch

Anfänger - C# von Energy - 17.08.2015 um 15:11 Uhr
Erstelle ein mehrdimensionales Array, in der 5 Datensätze gespeichert werden. Es soll eine Festnetznummer, eine Handynummer und eine Geschäftliche Telefonnummer in der Konsole eingegeben werden. Nach der Eingabe soll die Konsole geleert und die Nummern ausgegeben werden. Bei der Ein- sowie Ausgabe soll eine laufende Eintragsnummer angezeigt werden.
#6
2 Kommentare
vote_ok
von Alucard1766 (930 Punkte) - 24.08.2015 um 11:16 Uhr
Ginge mit [][](jagged) Arrays etwas einfacher als mit [,] (multidimensional) da man ein ganzes 1D Array in ein 2D Array kopieren kann. Dies wäre nützlich in der for-Schlaufe in der MAIN-Funktion

Quellcode ausblenden C#-Code
enum NUMMERN
        {
            Festnetznummer,
            Handynummer,
            Geschaeftsnummer
        }

        static void Main(string[] args)
        {
            string[,] telefonbuch = new string[5, 3];
            int counter = 1;

            for (int i = 0; i < 5; i++)
            {
                Console.WriteLine("Datensatz " + counter);
                counter++;
                string[] tmp = leseDatensatz();
                telefonbuch[i, 0] = tmp[0];
                telefonbuch[i, 1] = tmp[1];
                telefonbuch[i, 2] = tmp[2];

                ausgebenTelefonbuch(telefonbuch);
            }
        }

        static void ausgebenTelefonbuch(string[,] telefonbuch)
        {
            Console.Clear();
            for (int i = 0; i < 5; i++)
            {
                Console.WriteLine("Datensatz " + (i + 1));
                for (int j = 0; j < 3; j++)
                {
                    if (telefonbuch[i, j] != null)
                        Console.WriteLine((NUMMERN)j + ": " + telefonbuch[i, j]);
                    else
                        Console.WriteLine((NUMMERN)j + ": Noch nicht eingegeben");
                }
            }
            Console.ReadLine();
            Console.Clear();
        }

        static string[] leseDatensatz()
        {
            string[] datensatz = new string[3];

            for (int i = 0; i < 3; i++)
            {
                Console.Write("Geben Sie die " + (NUMMERN)i + " ein: ");
                datensatz[i] = Console.ReadLine();
            }

            return datensatz;
        }

Kommentare:

Mentalist999

Punkte: 680


21 Lösungen
50 Kommentare

#1
01.09.2015 um 14:20 Uhr
Ja, wäre viel einfacher, hab ich oben bei meiner Lösung auch dazu geschrieben.
Dennoch cheatest Du, wenn Du die klare Anweisung ein Multidimensionales Array zu nutzen übergehst. ^^
Vielleicht ist es ja vom Threadersteller so gewünscht, die kompliziertere Variante zu nutzen.
Aber auch wenn nicht, Chancengleichheit! Gleiche Bedingungen für alle! ^^
Nichts für ungut, grundsätzlich hast Du natürlich Recht und es ist mit einer geschachtelten Auflistung einfacher, das hatte ich bei meiner Lösung auch angemerkt. :)
post_arrow
213 0

Mentalist999

Punkte: 680


21 Lösungen
50 Kommentare

#2
01.09.2015 um 14:25 Uhr
Ich bitte um Verzeihung, ich habe falsch geguckt.
Du hast ja eine Multidimensionale Auflistung verwendet.
In dem Fall nehme ich natürlich alles zurück und Du hast nicht gecheatet! ^^
post_arrow
214 0
Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben