Fiz de outra maneira, criei um array espelho do array palavrasecreta e fiz substituindo e imprimindo-o na medida que for achada a letra, colocando também mensagem de erro.
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define TAM 20
int main(void) {
char espelho[TAM]; char palavrasecreta[TAM]; char chute; int i, acertou, enforcou, tentativas, achou;
acertou = 0; enforcou = 0; sprintf(palavrasecreta, "MELANCIA"); printf("\n%s", palavrasecreta);
//Carregar o vetor espelho do mesmo tamanho de palavrasecreta com '' for (i=0;i<strlen(palavrasecreta);i++){ espelho[i] = ''; // printf("\nA posicao %i = %c ", i, espelho[i]); }
tentativas = 1; do{
printf("\n\nInforme uma letra: ");
scanf(" %c", &chute);
chute = toupper(chute);
achou = 0;
//pesquisar no vetor espelho se existe a letra e substituir pelo chute
for (i = 0; i < strlen(palavrasecreta); i++){
if (palavrasecreta[i] == chute){
espelho[i] = chute;
achou = 1;
}
}
//mostrar o espelho apos pesquisa de chute
for (i=0;i<strlen(palavrasecreta);i++){
printf("%c", espelho[i] );
}
//mostrar mensagem que a letra nao tem em palavrasecreta
if (!achou){
printf("\n\nErrou!! Tente novamente...");
}
tentativas++;
} while(!acertou && !enforcou); return 0; }