Olá pessoal estou com um problema aqui, cheguei até a última aula e fiz o programa de adivição, mas resolvi testar se a mensagem de vitória aparece corretamente.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
//Imprimi cabeçalho do jogo
printf(" ******************************************\n");
printf(" * Bem vindo ao nosso jogo de adivinhação *\n");
printf(" ******************************************\n");
srand(time(0));
int numerosecreto = rand() % 100;
int chute;
int tentativa = 1;
double pontos = 1000;
int nivel;
int acertou =0;
//apenas para verificacao, nao faz parte do jogo
printf("Numero secreto : %d\n", numerosecreto);
printf("Qual o nivel de dificuldade?\n");
printf("(1)Facil (2) Medio (3) Dificil\n\n");
printf("Escolha: ");
scanf("%d",&nivel);
int numerodetentativas;
switch(nivel){
case 1:
numerodetentativas = 20;
break;
case 2:
numerodetentativas = 15;
break;
default:
numerodetentativas = 6;
break;
}
int i;
for (i=1;i <= numerodetentativas;i++){
printf ("Tentativa %d \n",tentativa);
printf ("Qual seu chute? \n");
scanf ("%d",&chute);
//printf ("Seu chute foi %d \n",chute);
if (chute < 0){
printf("Voce nao pode chutar numeros negativos!\n");
continue;
}
int acertou = (chute == numerosecreto);
//printf("%d\n",acertou);
int maior = chute > numerosecreto;
if (acertou){
break;
}
else if (maior){
printf("Seu chute foi maior que o numero secreto\n");
}
else{
printf("Seu chute foi menor que o numero secreto\n");
}
tentativa++;
double pontosperdidos = abs(chute - numerosecreto)/(double)2.0;
pontos = pontos-pontosperdidos;
}
printf("Fim de jogo!\n");
if(acertou){
printf("Parabens! Voce acertou!\n");
printf("Voce acertou em %d tentativas", tentativa);
printf("Total de pontos: %.1f\n", pontos);
} else {
printf("Voce perdeu! Tente novamente \n");
}
return 0;
}
Sempre que eu acerto o número estou recebendo a mensagem:
"Fim de jogo!" "Voce perdeu! Tente novamente"
Coloquei para aparecer na tela as variaveis "numerosecreto" e "acertou", os valores estão todos corretos, mas a mensagem continua estranho, por que será?