Acho que você quer dizer que ele não reconhece letras minúsculas. A palavra MELANCIA é composta apenas por letras maiúsculas e, na tabela ASCII, os caracteres para letras maiúsculas e minúsculas têm códigos diferentes. Todas os caracteres estão sendo armazenados corretamete como chutes, mas quando ele vai comparar por exemplo: M** com **m, ele retorna falso pois são diferentes, e o jogo não considera o chute como achou.
Uma maneira de contornar isso é utilizar a função toupper() da biblioteca <ctype.h> pra converter o caracter de entrada para maiúsculo antes de armazená-lo no vetor de chutes e seguir armazenando todas as palavras segredo com letras maiúsculas.
O ideal seria criar uma lógica que verificasse tanto maiúsculas como minúsculas e depois considerasse o chute.
include <ctype.h>
//resto do código
chutes[tentativas] = toupper(chute);
Repare ainda que a lógica de parar o loop por enforcamento ou acerto ainda não está finalizada.
Suerte!
Link para tabela ASCII: https://web.fe.up.pt/~ee96100/projecto/Tabela%20ascii.htm