kein Fehler, aber immer die ist die Bedingung falsch.
-
ok danke das Buch werde ich heut noch bestellen und dann scuh ich jetzt halt mal.

-
Hi,
das getline ist für Strings und cin.getline ist für CStrings. So wie ich das bis jetzt gelernt habe wird in C++ immer mit Strings gearbeitet und nur wenn es nicht anders geht auf CString zurückgegriffen.
Strings sind einfach nicht so fehleranfällig und haben als Objekte auch nette Funktionalitäten, korrigiert mich wenn ich hier Mist erzähle.G hibbes
-
ich habe in
Tachyon schrieb:
Eine gute Anlaufstelle für Fragen zur Standardbibliothek ist das hier.
Dort wirst Du unter Strings library fündig.gesucht und das mit der Eingabe hinbekommen und verstanden, doch jetzt bin ich total verwirrt, denn vorher hat das mit dem Vergleichen funktioniert jetzt nicht mehr das gleiche Problem wie am Anfang nur das ich jetzt halt strings dastehen habe.
Dazu finde ich auch nicht in der Biblothek eine Lösung.
Da ich ansonsten den ganzen Tag an nichts anderes denken kann, bitte ich hoffentlich das letzte Mal um eine "schnelle Lösung", auch auf die Gefahr hin das ich nichts lerne.
-
Der neue Quelltext wäre hilfreich.
-
Hier ist der Quelltext, wie gesagt das gleiche Problem wie ganz am Anfang.
int zweiSpieler (string beginnenderSpieler) { //NamensAbfrage string Spieler1; string Spieler2; cout << "\nBitte gebe den Namen des 1.Spielers ein (max. 10 Zeichen): "; cin.ignore (); getline (cin,Spieler1); cout << "Bitte gebe den Namen des 2.Spielers ein (max. 10 Zeichen): "; cin.ignore (); getline (cin,Spieler2); cout << "\nDer/die Juengere beginnt. Wer ist juenger?(Name) "; cin.ignore (); getline (cin,beginnenderSpieler); if (Spieler1 == beginnenderSpieler) { beginnenderSpieler = Spieler1; } else if (Spieler2 == beginnenderSpieler) { beginnenderSpieler = Spieler2; } else { cout << "\nFalsche Eingabe, Name nicht bekannt.\n" << endl; } return 0;
-
Du brauchst echt ein Buch.
Du musst string als Referenz übergeben, sonst hast Du innerhalb der Funktion nur eine Kopie des übergebenen String-Objekts und nicht das übergebene String-Objekt selbst.int zweiSpieler (string & beginnenderSpieler) //hier fehlte das & { //NamensAbfrage string Spieler1; string Spieler2; cout << "\nBitte gebe den Namen des 1.Spielers ein (max. 10 Zeichen): "; //cin.ignore (); braucht man nicht getline (cin,Spieler1); cout << "Bitte gebe den Namen des 2.Spielers ein (max. 10 Zeichen): "; //cin.ignore (); braucht man nicht getline (cin,Spieler2); cout << "\nDer/die Juengere beginnt. Wer ist juenger?(Name) "; //cin.ignore (); braucht man nicht getline (cin,beginnenderSpieler); if (Spieler1 == beginnenderSpieler) { beginnenderSpieler = Spieler1; } else if (Spieler2 == beginnenderSpieler) { beginnenderSpieler = Spieler2; } else { cout << "\nFalsche Eingabe, Name nicht bekannt.\n" << endl; } return 0;
-
Hi, sag mal stehe ich total auf dem Schlauch oder machen die verzweigten Bedingungen gar keinen Sinn, bis auf zu testen ob der Name vorhanden ist???
Wenn ein Wert gleich dem Anderen ist, macht es dann Sinn den Anderen nochmals den Wert zuzuweisen???
if (Spieler1 == beginnenderSpieler) { beginnenderSpieler = Spieler1; // is doch schon gleich??? } else if (Spieler2 == beginnenderSpieler) { beginnenderSpieler = Spieler2; // is doch auch gleich??? }G hibbes
-
Danke, ich sehs ein mein Buch bringt nichts. Das stand da nirgends.
-
hibbes schrieb:
Hi, sag mal stehe ich total auf dem Schlauch oder machen die verzweigten Bedingungen gar keinen Sinn, bis auf zu testen ob der Name vorhanden ist???
Wenn ein Wert gleich dem Anderen ist, macht es dann Sinn den Anderen nochmals den Wert zuzuweisen???
if (Spieler1 == beginnenderSpieler) { beginnenderSpieler = Spieler1; // is doch schon gleich??? } else if (Spieler2 == beginnenderSpieler) { beginnenderSpieler = Spieler2; // is doch auch gleich??? }G hibbes
das ist ja nur eine Funktion und es soll klar gemacht werden das später im Programm beginnenderSpieler später Spieler1 oder Spieler2 ersetzt.
-
Ah, ok also nur ein Lückenfüller welchen man auch mit einem Kommentar hätte machen können, aber egal viele Wege führen nach Rom.
Ich lerne ja auch grad C++ und kann dir das Buch "C++ Einführung und professionelle Programmierung" von Ulrich Breymann empfehlen oder halt das neue Werk von ihm was noch ein paar zusätzliche Themen beinhaltet, das nennt sich "Der C++ Programmierer".
G hibbes