Menü Auswahl in Windows Konsole erstellen



  • Hallo,

    ich mache gerade eine Weiterbildung in Sachen C++ (Grundlagen) und möchte als Abschlussarbeit eine Anwendung schreiben, in der der Benutzer eine Auswahl aus mehreren Möglichkeiten trifft. Da so etwas in dem Kurs nicht behandelt wurde, wollte ich hier mal nachfragen, ob mir jemand ein Codebeispiel oder einen Link dazu posten kann.

    Danke im Voraus,
    Martin



  • Was für ein Kurs war das?
    Keine Schleifen behandelt und
    keine if + else oder switch + case/break + default 😕

    MfG f.-th.



  • int menu(std::vector<std::string> const& choices)
    {
    	std::size_t choice = 0;
    	do {
    		std::size_t counter = 1;
    		for(auto const& s : choices)
    		{
    			std::cout << counter++ << ".- " << s << std::endl;
    		}
    		std::cout << "Choose: ";
    	} while ( !(std::cin >> choice) && !(--choice >= choices.size()) );
    
    	return choice;
    }
    
    int main()
    {
    	std::vector<std::string> choices = {"A", "B", "Exit"};
    	switch (menu(choices))
    	{
    	case 0:
    	case 1:
    		doShit();
    	case 2:
    		return 0;
    	}
    
    	return 0;
    }
    

    (Ungetestet, schlecht geplant, Fehlerbehandlung fehlt, etc.)

    Meinst du sowas in der Art?



  • na so ein grundlagenkurs halt 🙂
    for-schleifen und alles war dabei, aber keine grafischen ausgaben auf der konsole halt ...

    ... ja, so was in der art, aber wenn ich als auswahl sagen wir sechs möglichkeiten habe und der benutzer soll jetzt eine wählen, dann kann ich z.b. den text mit einer anderen farbe hinterlegen und bei drücken der returntaste wird die auswahl z.b. in dem vector gespeichert. wie sähe der code dafür aus?

    eine andere möglichkeit wäre es, eine art radio button per ascii code zu erzeugen oder der user schreibt ein 'x' hinter das ausgewählte element. in jedem fall müsste dann aber wahrscheinlich dann eine koordinate übergeben werden, oder?

    gruss, martin



  • Die Konsole ist eig. nicht für GUI gedacht.
    Tu dir selbst einen Gefallen und nutz dafür eine GUI-Bibliothek in einem echten Fenster.



  • hi nathan,

    da hast du natürlich recht, aber eine entsprechende bibliothek einzubinden würde den rahmen des projektes sprengen und mich wahrscheinlich etwas überfordern.

    da die meisten projekte was mit grafik waren, wollte ich da auch was in der richtung machen - habe sonst keine andere idee 🙂

    martin



  • martiuss schrieb:

    da die meisten projekte was mit grafik waren, wollte ich da auch was in der richtung machen - habe sonst keine andere idee 🙂

    martin

    Nicht das wir hier aneinander vorbei schreiben 😕
    Hier in diesem Bereich des Forum wird meist nur pures C++ behandelt.

    Das wird an einigen Schulen aber anders gehandhabt. Da werden unter C++ auch noch andere Bereiche mit hinein gepackt.

    Da deine Kollegen etwas mit Grafik machen, mit welchem C++ Compiler oder C++ Entwicklungssystem habt ihr an eurer Schule hantiert? Einige C++ Compiler haben so für den C++Programmierer der reinen Lehre "grässliche" Sachen wie Farben an Bord. Ist dann nicht mehr reines C++, aber optisch kann es bunt werden. 😉

    Verstehst du denn das Quelltextbeispiel und bekommst nach kleinen Ergänzungen und Änderungen ein lauffähiges Programm hin? Oder hast du da noch grosse Fragezeichen?

    MfG f.-th.



  • Hier gibts dafür eine fertige Klasse:
    http://www.c-plusplus.net/forum/303169


Log in to reply