В настоящее время я работаю над игрой в классе, но имею некоторые проблемы при печати и проверке строк. По сути это вешающий человек, и мне нужно напечатать слово как _
(подчеркивание) с пробелами, разделяющими каждое подчеркивание. Я просто заполнение кода скелета и код, который я должен был заполнить выглядит следующим образом:Печать строк дополнительные значения C программирование
initializeBlankString(const int numLetter, char revealedLetters[25])
{
int i;
for(i=0;i < numLetter; i++){
revealedLetters[i] = '_';
}
revealedLetters[numLetter - 1] = '\0';
}
printWithSpaces(char revealedLetters[25])
{
int i;
for(i=0;i<(strlen(revealedLetters));i++){
printf("%c ", revealedLetters[i]);
}
}
revealGuessedLetter(char word[], char revealedLetters[25], char guess)
{
int i, n = 0;
for(i=0;i<strlen(word);i++){
if (word[i] == guess){
revealedLetters[i] = guess;
n = 1;
}
}
return n;
}
checkGuess(char word[25], char revealedLetters[25])
{
if(word == revealedLetters)
return 1;
else
return 0;
}
Я пробовал много разных вещей, и я не могу быть успешным. Проблемы будут, когда слово что-то вроде unix, покажет _ _ _ _ + r 6 _
, а не только _ _ _ _
Я сбежал, подумал, но это не похоже на это.
вызовы функций выглядеть следующим образом:
initializeBlankString(strlen(word), revealedLetters);
printWithSpaces(revealedLetters);
charRevealed = revealGuessedLetter(word, revealedLetters, guess);
won = checkGuess(word, revealedLetters);
решение:
void initializeBlankString(const int numLetter, char revealedLetters[25])
{
int i;
for(i=0;i < numLetter; i++){
revealedLetters[i] = '_';
}
revealedLetters[numLetter] = '\0';
}
void printWithSpaces(char revealedLetters[25])
{
int i;
for(i=0;i<(strlen(revealedLetters));i++){
printf("%c ", revealedLetters[i]);
}
}
int revealGuessedLetter(char word[], char revealedLetters[25], char guess)
{
int i, n = 0;
for(i=0;i<strlen(word);i++){
if (word[i] == guess){
revealedLetters[i] = guess;
n = 1;
}
}
return n;
}
int checkGuess(char word[25], char revealedLetters[25])
{
for(int i = 0; i < strlen(word);i++){
if(word[i] != revealedLetters[i])
return 0;
}
return 1;
}
GDB или любой другой отладчик это ваш лучший друг здесь ... –