#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
printf("\n\n");
printf(" P /\ P \n");
printf(" /\||/\ \n");
printf(" n_n | ||. .|| | n_n Bem vindo ao \n");
printf(" |||nnnn nnnn||| Jogo de Adivinhacao!\n");
printf(" |" " | || |" " | \n");
printf(" || ' _ ' || \n");
printf(" \_|_|__/ \n");
printf("\n\n");
int segundos = time(0);
srand(segundos);
int numerogrande = rand();
int numerosecreto = numerogrande % 100;
int chute;
int tentativas = 1;
double pontos = 1000;
int acertou = 0;
int nivel;
printf("Selecione o nivel de dificuldade: \n");
printf("(1) Facil (2) Medio (3) Dificil\n");
scanf("%d", &nivel);
int numerodetentativas;
switch(nivel) {
case 1:
numerodetentativas = 20;
break;
case 2:
numerodetentativas = 10;
break;
default:
numerodetentativas = 5;
break;
}
for(int i = 1; i <= numerodetentativas; i++) {
printf("Tentativa %d\n", tentativas);
printf("Qual e o seu chute: \n");
scanf("%d", &chute);
printf("Seu numero foi %d\n", chute);
if(chute < 0) {
printf("Voce nao pode chutar numeros negativos! \n");
continue;
}
int acertou = (chute == numerosecreto);
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");
}
tentativas++;
double pontosperdidos = abs(chute - numerosecreto) / (double)2;
pontos = pontos - pontosperdidos;
}
printf("Fim de jogo\n");
if(acertou) {
printf("Parabens! Voce acertou!\n");
printf("Voce acertou em %d tentativas\n", tentativas);
printf("Total de pontos: %.1f\n", pontos);
printf("Jogue de novo, voce e um otimo jogador!\n");
} else {
printf("Voce perdeu! Tente de novo!\n");
}
}
Esse é o meu código do que eu me lembro, mas eu estou achando estranho, o código está funcionando mas quando eu acerto o número secreto ele não mostra a mensagem do if(acertou) logo no final, o que eu fiz de errado ou o que está faltando?