Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Zitat von »"Nekturion"«
machs mit c strings da kannste jeden einzelnen buchstaben vergleichen
Zitat
Zitat von »"Gotbread"«
also:
"unterbrechen" drücken
dann hält dein programm bei der fehlerstelle an und du kannst, indem
du mit der maus auf die variablen gehst, dir den inhalt angucken.
wenn du innerhalb einer stl-datei geladet bist, was bei dir zu ~90% der
fall sein wird, kannst du einfach in dem fenster "aufrufsliste" dich solange
nach oben arbeiten, bis du in deinem code angekommen bist.
an dieser stelle ist er abgestürzt, also solltest du da oder in der nähe den
fehler suchen.
da du den code anscheinend geändert hast, können wir nur raten, zeig
einfach die entsprechende stelle
C-/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 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
string sWort(""); // Hier wird das zu erratende Wort gespeichert string sWort2(""); // Hier wird ein ein entsprechend langer String // gespeichert (seine Länge wird mit "-" gefüllt) string sFueller("-"); // wird zur erzeugung von sWort2 benötigt int Position=0; // stellt eine Position in einem string da int Position_letter=0; // heir wird diese Position für den Rest des // Durchlaufs geändert int groesse=0; // Größe des Wortes von sWort benötigt für sWort2 char geraten; // Eingabe (geratener Buchstabe) char letter; // Hilfsvariable zumausgeben von "<" an der // richtigen Stelle //Funktionsprototypen void game() { system("cls"); cout<<"Game"<<endl; cout<<"----"<<endl; int p=0; cout<<"Wort eingeben:"<<endl; cin>>sWort; // Abfrage des zu erratenden // Wortes groesse=sWort.length(); while(p<groesse) { sWort2=sWort2+sFueller; p++; } // Hier wird sWort2 mit "-" gefüllt // entsprechend der länge des // wortes von sWort system ("cls"); raten(); } void raten() { int versuche = 10; string sgeraten; do { cout<<"Du hast noch "<<versuche<<" Versuche"<<endl; cout<<"dein Wort ist"<<sWort2<<endl; cout<<"rate mal:"<<endl; cin>>sgeraten; //Abfrage geratener Buchstabe Position=sWort.find(sgeraten,Position_letter); // Hier wird geguckt // ob die eingabe im // Wort sWort // enthalten ist*/ sWort.replace(Position,1,"<",1); //hier wird das "-" // ersetzt if (Position==string::npos) { cout<<"Der Buchstabe ist nicht enthalten..."<<endl; Sleep(2000); Position_letter=0; versuche--; raten(); } else { Position=sWort.find(geraten,Position_letter); //Hier wird geguckt //ob die eingabe im //Wort sWort // enthalten ist*/ sWort.replace(Position,1,"<",1); Position_letter=Position+1; if(Position==string::npos) { Position_letter=0; versuche--; raten(); } Position=sWort.find(geraten,Position_letter); sWort.replace(Position,1,"<",1); Position_letter=Position+1; if(Position==string::npos) { Position_letter=0; versuche--; raten(); } Position=sWort.find(geraten,Position_letter); sWort.replace(Position,1,"<",1); Position_letter=Position+1; if(Position==string::npos) { Position_letter=0; versuche--; raten(); } Position=sWort.find(geraten,Position_letter); sWort.replace(Position,1,"<",1); Position_letter=Position+1; if(Position==string::npos) { Position_letter=0; versuche--; raten(); } } versuche--; Position_letter=0; }while (versuche!=0); { cout<<"Spiel vorbei."<<endl; Sleep(2000); } } |
Du meinst wohl char*?Zitat von »"goldfisch007"«
aber versuch doch
sgeraten wieder als char zu deklarieren...
Werbeanzeige