Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.net  
   

Die mobilen Seiten von c++.net:
https://m.c-plusplus.net

  
C++ Forum :: Rund um die Programmierung ::  Suche nach speziellen Bedienung für Untermenü Ausgabe.     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
helenchen
Mitglied

Benutzerprofil
Anmeldungsdatum: 26.11.2014
Beiträge: 68
Beitrag helenchen Mitglied 15:44:39 09.04.2018   Titel:   Suche nach speziellen Bedienung für Untermenü Ausgabe.            Zitieren

Hallo Leute !

Ich habe klassisches Hauptmenü erstellt:


C++:
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
#include "kartenspiel.h"
#include <cstdlib>
#include <iostream>
#include <time.h>
using namespace std;
 
/*
 *
 */

int main() {
   
    Kartenspiel k;
    int a;
    do{
    cout << " === Kartenspiel Menue === \n"
         << "1 Karten mischen\n "
         << "2 Karten austeilen\n "
         << "3 Karten eines Spielers ansehen\n "  
         << "0 BEENDEN "  
         << endl;
     
    cout << "Auswahl (0-3): ";
    cin >> a;
    switch(a)
    {
        case 1:
            k.mischen();
            break;
        case 2:
            k.austeilen();
            break;
        case 3:
            do{
            k.spielerAuswahl(); // die Ausgabe des Untermenüpunkte nur wenn
                               //vorher ausgewählt worden ist
       
            } while(a == 2);
            break;
    }
   
    } while( a > 0);
 
    return 0;
}


In Klasse kartenspiel.cpp habe ich eine Funktion SpielerAuswahl(), welches ein
ein zweites Menü besitzt. Dieses zeigt die Karten jedes Spielers an.


C++:
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
void Kartenspiel::spielerAuswahl() {
    char z;
    do{
        cout << "Zeige Karten von...\n"
              << " (a) Spieler1\n "  
              << " (b) Spieler2\n "  
              << " (c) Spieler3\n "
              << " (d) Spieler4\n "
              << " (e) Beenden "  << endl;
        cout << " Auswahl a-e: ";
        cin >>  z;
        switch(z){
            case 'a':
                  for(int i = 0; i < 8; i++){
                  cout << + " "  + spieler1[i].toString() << endl;
                  }
                  break;
            case 'b':
                  for(int i = 0; i < 8; i++) {
                  cout << + "" + spieler2[i].toString() << endl;
                  }
                  break;
            case 'c':
                  for(int i = 0; i < 8; i++) {
                  cout << + "" + spieler3[i].toString() << endl;
                  }
                  break;
            case 'd' :
                  for(int i = 0; i < 8; i++) {
                  cout << + "" + spieler4[i].toString() << endl;
                  }
                  break;
               
           
        }
 
    }while(z < 'e');
   
}


Jetz möchte ich so machen, dass die Ausgabe in Untermenü nur dann Ausgeführt wird, wenn vorher die Karten gemischt worden sind ( also if ( case 2 ausgeführt ist ) gebe mir case 3 des Hauptmenüns ). Habe es schon wie ihr in der Main sieht versucht mit
C++:
if(eingabe == 2) { k.spielerAuswahl(); }


Aber leider funktioniert es nicht... :rolleyes:
Wie kann man das am besten Lösen?

_________________
PS: An alle " Alles Kenner" ihren unsachlichen, unbedachten und beledigenden Kommentare sind ein Zeichen des fehlenden Verstands!
Th69
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.03.2008
Beiträge: 4946
Beitrag Th69 Mitglied 16:03:37 09.04.2018   Titel:              Zitieren

Benutze doch einfach ein bool-Flag und frage dieses dann ab.
muemmel
Mitglied

Benutzerprofil
Anmeldungsdatum: 16.10.2007
Beiträge: 3895
Beitrag muemmel Mitglied 16:14:05 09.04.2018   Titel:   Re: Suche nach speziellen Bedienung für Untermenü Ausgabe.            Zitieren

Hi Helenchen,

versuchs doch mal so:
C++:
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
#include "kartenspiel.h"
#include <cstdlib>
#include <iostream>
#include <time.h>
using namespace std;
 
/*
 *
 */

int main() {
   
    Kartenspiel k;
    int a;
    int gemischt = 0;   // ob gemischt wurde, Voreinstellung nicht
    do{
    cout << " === Kartenspiel Menue === \n"
         << "1 Karten mischen\n "
         << "2 Karten austeilen\n "
         << "3 Karten eines Spielers ansehen\n "  
         << "0 BEENDEN "  
         << endl;
     
    cout << "Auswahl (0-3): ";
    cin >> a;
    switch(a)
    {
        case 1:
            k.mischen();
            gemischt = 1;   // es wurde gemischt
            break;
        case 2:
            k.austeilen();
            break;
        case 3:
            if (gemischt == 1)   // wenn gemischt wurde
              k.spielerAuswahl();
            break;
    }
   
    } while( a > 0);
 
    return 0;
}


Gruß Mümmel

_________________
Muemmel ante portas
bekennender Maskulinist der schon länger hier lebt
C++ Forum :: Rund um die Programmierung ::  Suche nach speziellen Bedienung für Untermenü Ausgabe.   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.net ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.