Entwickler-Ecke
Basistechnologien - [C# Console] Menü erstellen
Dragony1989 - Sa 02.10.10 14:37
Titel: [C# Console] Menü erstellen
Schönen Guten tag,
Ich bin neu hier und fange gerade erst an mit C#
Ich wollte mir jetz ein Menü erstellen für eine NamensListe.
Dies Soll alles über die Console erst mal Laufen da ich mich jetz noch nicht im anfang direkt mit Windows Applikationen oder ähnlichem beschäftigen möchte.
Dies möchte ich mit einer Struktur realisieren.
Das HauptMenü soll so ausschaun :
Dies ist Ein Menü:
1. Name eingeben
2. Vorname eingeben
3. Addresse eingeben
4. Liste anzeigen
Wähle aus :
Das Untermenü :
Sie haben ausgewählt : Name eingeben
Name eingeben : <Eingabe>
Return Hauptmenü
Sie haben ausgewählt : Vorname eingeben
Vorname eingeben : <Eingabe>
Return Hauptmenü
Sie haben ausgewählt : Addresse eingeben
Addresse eingeben : <Eingabe>
WohnOrt eingeben : <Eingabe>
Return Hauptmenü
Das die Console dies anzeigt habe ich hin bekommen und der Code sieht dann so aus :
Console.Writeline("Test");
Console.Writeline("1. Name eingeben");
Console.Writeline("2. Vorname eingeben");
Console.Writeline("3. Adresse eingeben");
Console.Writeline("4. Liste anzeigen");
Console.Writeline("Bitte wählen sie aus: ");
Console.Readline()
Dies funktioniert. Wie kann ich jetz eine Struktur baun das ich bei "Bitte wählen sie aus: " eine Zahl eingeben kann damit ich in das Untermenü komme und da wieder eine eingabe machen kann und ein Return zum Hauptmenü habe und das dies in einer Tabelle oder ähnlichem gespeichert wird damit ich unter dem punkt 4. die Liste die ich eingetragen habe angezeigt wird.
ich weiss viele fragen aber ich hoffe mir kann einer helfen =)
mfg
Yogu - So 03.10.10 19:11
Hi und :welcome: in der Entwickler-Ecke!
Ich würde für jedes Untermenü eine eigene Methode erstellen. Im Hauptprogramm brauchst du dann nur noch das Hauptmenü anzuzeigen und die Eingabe zu prüfen, am Besten in einer Schleife. Also in etwa so:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| Hauptprogramm { Wiederhole immer { Zeige Hauptmenü an Eingabe auslesen Wenn Eingabe = 1, Dann Rufe Methode1 auf Wenn Eingabe = 2, Dann Rufe Methode2 auf ... } } |
Dragony1989 - So 03.10.10 20:45
Hallo,
mein probelm ist nur wie bekomm ich überhaupt diese Struktur hin das ich was auswählen kann ? Also das ich die Cases überhaupt ansprechen kann ? Ich finde nichts wirklich gutes im internet
aber danke schon mal =)
Dragony1989 - So 03.10.10 21:24
Jetz habe ich es hin bekommen das ich es schon mal auswählen kann hab nen tut gefunden und mich mal versucht dadran nur jetz taucht nen Problem auf könnte mir einer sagen wie ich des lösen kann ? und dann auch evtl. sagen wie ich jetz wenn ich nen untermenü geöffnet habe das ich da nen weiteres untermenü habe ?
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93:
| using System; using System.Collections.Generic; using System.Linq; using System.Text;
namespace ConsoleApplication1 { class Program { static void Main(string[] args) { bool done = false; do { structTeilnehmer Name_eingeben = new structTeilnehmer (1); structTeilnehmer Vorname_eingeben = new structTeilnehmer (2); structTeilnehmer Addresse_eingeben = new structTeilnehmer (3); structTeilnehmer Liste_anzeigen = new structTeilnehmer (4); Console.WriteLine ("Select one of the following:"); Console.WriteLine ("\t1 -- Name eingeben"); Console.WriteLine ("\t2 -- Vorname eingeben"); Console.WriteLine ("\t3 -- Addresse eingeben"); Console.Writeline ("\t4 -- Liste anzeigen"); Console.Write ("Gib deine Auswahl ein (0 zum Abbrechen): "); string strSelection = Console.ReadLine (); int iSel; try { iSel = int.Parse(strSelection); } catch (FormatException) { Console.WriteLine ("\r\nWas?\r\n"); continue; } Console.WriteLine ("Du hast ausgesucht " + iSel); switch (iSel) { case 0: done = true; break; case 1: Console.WriteLine (Name_eingeben); break; case 2: Console.WriteLine (Vorname_eingeben); break; case 3: Console.WriteLine (Addresse_eingeben); break; case 4: Console.Writeline (Liste_anzeigen); break; default: Console.WriteLine ("Du hast eine Falsche Nummer gewählt: {0}\r\n", iSel); continue; } Console.WriteLine (); } while (!done);
Console.WriteLine ("\nGoodbye!"); } } struct structTeilnehmer { public structTeilnehmer (int Type) { structTeilnehmer = Type; } private int Type; public int TeilnehmerType { get {return (Type);} set {Type = value;} } public override string ToString() { switch (Type) { default: return ("Unbekannte_Eingabe"); case 1: return ("Name_eingeben"); case 2: return ("Vorname_einegebn"); case 3: return ("Addresse_eingeben"); case 4: return ("Liste_anzeigen"); } } } } |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!