Autor Beitrag
Dragony1989
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Sa 02.10.10 14:37 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: 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:

ausblenden 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 Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: 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 =)
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: So 03.10.10 20:56 
Naja, eigentlich habe ich dir genau das geschrieben. Ich schätze, du solltest lieber erstmal ein Buch über C# lesen, zum Beispiel das Galileo Openbook Visual C# 2010.
Dragony1989 Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: 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 ?
ausblenden volle Höhe 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");
             }
         }
    }
}