A primeira tentativa do código dá certo, porém quando se atualiza o valor da variável "num", quando chama a função "perguntaUsuario" a variável "num" continua a mesma.
#include <stdio.h>
#define TENTATIVAS 5
#define NUM_SECRETO 45
void apresentaMenu(){
printf("***********************************\n");
printf("* BEM VINDO AO JOGO DE ADVINHAÇÃO *\n");
printf("***********************************\n");
}
int perguntaUsuario(){
int num;
printf("Qual número você deseja chutar? ");
scanf("%d", &num);
return num;
}
int verificaNum(int num){
int i;
int acertou = num == NUM_SECRETO;
int menor = num <= NUM_SECRETO;
int maior = num >= NUM_SECRETO;
for(i=1; i<TENTATIVAS; i++){
if (num < 0){
printf("O número não pode ser negativo! \n");
num = perguntaUsuario();
}
if(acertou){
printf("Parábens você acertou!\n");
break;
}
else if(menor){
printf("O seu número é menor que o número secreto. \n");
printf("Número de tentativas restantes: %d \n", TENTATIVAS - i );
num = perguntaUsuario();
}
else{
printf("O seu número é maior que o número secreto. \n");
printf("Número de tentativas restantes: %d \n", TENTATIVAS - i );
num = perguntaUsuario();
}
}
}
int main()
{ int num;
apresentaMenu();
num = perguntaUsuario();
verificaNum(num);
return 0;
}