yo,
wir sollen fuer die Schule eine Projektaufgabe machen, dabei hat unsere Gruppe sich fuer Hangman entschieden.
Ich habe es derzeit auch so weit dass das Alphabet in 3 Zeilen ausgegeben wird und die Buchstaben die im der Benutzer bereits eingegeben hat entweder gruen (falls im Wort enthalten) oder rot (falls nicht im Wort enthalten) angezeigt werden. Dafuer uebergebe ich einfach zwei Arrays mit den bereits versuchten Buchstaben, wobei die Array derzeit allerdings noch von mir bei Programmstart beschrieben werden.
Nun möchte ich allerdings eingegebene Buchstaben ueberpruefen, indem ich einfach den Buchstaben, das zu loesende Wort und die derzeitige Loesung (also z.B. "_ _ e _ _ a _") uebergebe und dann im Wort nachgucke an welchen stellen der Buchstabe steht und falls er vorhanden ist den Buchstabe zum einem den Strings fuer die Anzeige (gruen/rot) anhaengen und in der Loesung die Unterstriche an der Stelle durch den Buchstaben ersetzen.
hier der Code für die Funktion welche die Unterstriche an den ermittelten Stellen ueberschreiben soll:
leider erhalte ich immer einen Fehler wenn ich den Wert im Array ueberschreiben moechte;/
Zudem erhalte ich auch hier einen Fehler:
das chararray ist folgendermaße deklariert:
intEingabe wird am Ende einer Endlosen do-while Schleife eingelesen:
Die Fehler treten in Form von Programmabstuerzen auf.
Bei debuggen kommt dabei folgene Fehlermeldung:
wir sollen fuer die Schule eine Projektaufgabe machen, dabei hat unsere Gruppe sich fuer Hangman entschieden.
Ich habe es derzeit auch so weit dass das Alphabet in 3 Zeilen ausgegeben wird und die Buchstaben die im der Benutzer bereits eingegeben hat entweder gruen (falls im Wort enthalten) oder rot (falls nicht im Wort enthalten) angezeigt werden. Dafuer uebergebe ich einfach zwei Arrays mit den bereits versuchten Buchstaben, wobei die Array derzeit allerdings noch von mir bei Programmstart beschrieben werden.
Nun möchte ich allerdings eingegebene Buchstaben ueberpruefen, indem ich einfach den Buchstaben, das zu loesende Wort und die derzeitige Loesung (also z.B. "_ _ e _ _ a _") uebergebe und dann im Wort nachgucke an welchen stellen der Buchstabe steht und falls er vorhanden ist den Buchstabe zum einem den Strings fuer die Anzeige (gruen/rot) anhaengen und in der Loesung die Unterstriche an der Stelle durch den Buchstaben ersetzen.
hier der Code für die Funktion welche die Unterstriche an den ermittelten Stellen ueberschreiben soll:
Code:
// _add_to_currency - char strCurrency[] -> Beinhaltet die bisherige Loesung // - char chrLetter -> Der Buchstaben der eingefuegt werden soll // - int intPositions[] -> Die Positionen an die der Buchstabe gehoert // - int intPos -> Anzahl der zu aendernen Zeichen // Beschreibung: Ersetzt die Unterstriche durch den Buchstaben (in der Loesung) // Rückgabewert: N/A void _add_to_currency(char strCurrency[], char chrLetter, int intPositions[], int intPos) { for(int i=0;i<intPos;i++) { strCurrency[intPositions[i]] = chrLetter; } }
leider erhalte ich immer einen Fehler wenn ich den Wert im Array ueberschreiben moechte;/
Zudem erhalte ich auch hier einen Fehler:
Code:
strcat(strOut, (char*)intEingabe);
Code:
char *strOut = new char[26]; int intEingabe=0; strcpy(strOut, "AGKL");
Code:
intEingabe = _getch();
Die Fehler treten in Form von Programmabstuerzen auf.
Bei debuggen kommt dabei folgene Fehlermeldung:
Unbehandelte Ausnahme in hangman.exe: 0xC0000005: Access Violation.
Comment