Text in Array



  • Erstell dir doch 2 Arrays welche jeweils 5 Spieler halten können. Das eine für die Mannschaft das andere für die Mannschaft.
    Sobald du dann die Mannschaften zugewiesen hast. Kannst du in deiner For-Schleife auf die Rückennummer jeweils so zugreifen

    Spieler_Mannschaft_A[i].GetRueckennummer();
    Spieler_Mannschaft_B[i].GetRueckennummer();
    

    Dafür hast du dir ja die Getter gebaut.



  • Und was ist dann mit dem Objekt CSpieler Spieler[10]?
    Wieder normal wie am Anfang, CSpieler Spieler? Oder wie meinst du das?



  • so meine ich das eigentlich.

    CSpieler Mannschaft_A[5];
        CSpieler Mannschaft_B[5];
    
    //usw
    

    Und mit den array arbeitest du dann. Wobei ein Vector natürlich angenehmer und sicherer ist, aber das lassen wir mal außen vor.



  • Ah okey, das wären dann 2 Objekte.
    Der Mitarbeiter hat mir drum gesagt, mit einem Objekt.
    Einfach CSpieler Spieler soll so bleiben. Also so wie vorhin wie du mir gesagt hast, mit Arrays im Objekt.



  • Irgendwie in der Art habe ich mir das vorgestellt..nur habe ich ein ziemliches durcheinander..wie muss ich im inneren if schrieben, dass er auf die Rueckennumemrauswahl prüft und dann die richtige ausgibt?

    if (Mannschaftswahl == 1)
    	{
    		for (int YBauswahlzaehler = 0; YBauswahlzaehler <= 4; YBauswahlzaehler++)
    		{
    			Spieler[YBauswahlzaehler].GetRueckennummer();
    			if (Spieler[YBauswahlzaehler] == Rueckennummerwahl)
    			{
    				cout << Spieler[YBauswahlzaehler];
    			}
    		}
    	}
    
    	if (Mannschaftswahl == 2)
    	{
    		for (int FCBauswahlzaehler = 5; FCBauswahlzaehler <= 9; FCBauswahlzaehler++)
    		{
    			Spieler[Auswahlzaehler].GetRueckennummer();
    			if (Spieler[FCBauswahlzaehler] == Rueckennummerwahl)
    			{
    				cout << Spieler[FCBauswahlzaehler];
    			}
    		}
    	}
    


  • Beinahe richtig.

    if (Mannschaftswahl == 1)
        {
            for (int YBauswahlzaehler = 0; YBauswahlzaehler <= 4; YBauswahlzaehler++)
            {
                int Rueckennummerwahl = Spieler[YBauswahlzaehler].GetRueckennummer();
                if (Spieler[YBauswahlzaehler] == Rueckennummerwahl)
                {
                    cout << Spieler[YBauswahlzaehler];
                }
            }
        }
    
        if (Mannschaftswahl == 2)
        {
            for (int FCBauswahlzaehler = 5; FCBauswahlzaehler <= 9; FCBauswahlzaehler++)
            {
                int Rueckennummerwahl_mannschaft2 = Spieler[YBauswahlzaehler].GetRueckennummer();
                if (Spieler[FCBauswahlzaehler] == Rueckennummerwahl_mannschaft2)
                {
                    cout << Spieler[FCBauswahlzaehler];
                }
            }
        }
    


  • Hm..ich komme gerade nicht so draus.
    Wieso machst du noch einen int Rueckennummerwahl und einen int Rueckennummerwahl_mannschaft2 ?
    den int Rueckennummerwahl habe ich ja schon am Anfang vom main erstellt, dort wird die gwünschte Nummer, die der User eingibt, abgelegt.
    Übrigens, meine Vorschlagsversion hatte compilier Fehler. Bei deiner Version auch, geht nicht :S



  • Achso. du hattest das schon deklariert, naja das konnte ich ja nicht wissen 😉 Dachte du hättest es vergessen. So du willst also vergleichen ob die eingegeben Zahl vom User mit einer rückenummer eines Spielers übereinstimmt?



  • Doch ich hatte es deklariert. Siehe meinen Post wo ich dir meine Theorie erklärt habe, dort ist das Prinzip..
    Genau, der User muss ja die Mannschaft eingeben von welcher er nach einem Spieler mit einer gewissen Rückennummer suchen lassen will. Dann gibt der User die gewünschte Nummer ein und das Programm soll so (wie mein letzter Beispielcode) im richtigen Mannschaftsarraybereich nach dieser Rückennummer suchen, wenn diese gefunden wurde, soll dann der Spieler mit dieser Rückennummer mit all seinen Elementen ausgegeben werden..
    Weisst du wie ich meine?



  • Firefighter, ich habe es jetzt so hingebracht, dass die richtige Rückennummer gefunden wurde, aber anstatt den ganzen Spieler mit allem drum und dran gibts mir bis jetzt nur die Rückennummer aus.
    Was muss ich jetzt bei der cout Ausgabe ändern, dass eigentlich die PrintConsole() ausgeführt wird? (Bis jetzt habe ich keine Fehler)
    Wenn ich Spieler[YBauswahlzaehler].GetRueckennummer() in Spieler[YBauswahlzaehler].PrintConsole() gibts Fehler und funktioniert nicht mehr. Was muss ich ändern?

    if (Mannschaftswahl == 1)
    	{
    		for (int YBauswahlzaehler = 0; YBauswahlzaehler <= 4; YBauswahlzaehler++)
    		{
    			if (Spieler[YBauswahlzaehler].GetRueckennummer() == Rueckennummerwahl)
    			{
    				cout << Spieler[YBauswahlzaehler].GetRueckennummer() << "\n";
    			}
    		}
    	}
    
    	if (Mannschaftswahl == 2)
    	{
    		for (int FCBauswahlzaehler = 5; FCBauswahlzaehler <= 9; FCBauswahlzaehler++)
    		{
    			if (Spieler[FCBauswahlzaehler].GetRueckennummer() == Rueckennummerwahl)
    			{
    				cout << Spieler[FCBauswahlzaehler].GetRueckennummer() << "\n";
    			}
    		}
    	}
    


  • Ich habs.

    if (Mannschaftswahl == 1)
    	{
    		for (int YBauswahlzaehler = 0; YBauswahlzaehler <= 4; YBauswahlzaehler++)
    		{
    			if (Spieler[YBauswahlzaehler].GetRueckennummer() == Rueckennummerwahl)
    			{
    				Spieler[YBauswahlzaehler].PrintConsole();
    			}
    		}
    	}
    
    	if (Mannschaftswahl == 2)
    	{
    		for (int FCBauswahlzaehler = 5; FCBauswahlzaehler <= 9; FCBauswahlzaehler++)
    		{
    			if (Spieler[FCBauswahlzaehler].GetRueckennummer() == Rueckennummerwahl)
    			{
    				Spieler[FCBauswahlzaehler].PrintConsole();
    			}
    		}
    	}
    

    jetzt fehlt mir nur noch die Ausgabe, "Falsche Auswahl" Wenn die Rückennummer nicht vorhanden ist.
    Allerdings klappt es nicht, dies einzubauen, dass diese Meldung auch nur in diesem Fall und nicht bei jedem Durchlauf der Schleife, bei dem es noch nicht übereinstimmt, erscheint.
    Weisst du Rat?


Anmelden zum Antworten