Boa tarde galera, tenho o seguinte problema: scanf pedindo o valor da mesma variavel 2 vezes. Tenho programado/compilado pelo CodeBlocks, usei o editor de texto Atom pra fazer o programa e tambem compilei pelo cmd, mas o resultado é o mesmo, não exibe mensagem de erro algum, mas é nitido que há algo de errado. Não encontrei a solução pelo amado google depois de um tempo significativo de pesquisa, então vim aqui pedir ajuda.. Eis o programa: Em C
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(){
printf(" ***************************************\n");
printf(" ** Bem-vindo ao Jogo da Adivinhacao!!**\n");
printf(" ***************************************\n\n");
srand(time(0));
int numerosecreto = rand() % 100;
printf(" Numero secreto: %d\n\n", numerosecreto);
int dificuldade;
int ntentativas;
int acertou = 0;
printf(" Escolha o nivel de dificuldade: (1) Facil (2) Medio (3) Dificil: ");
scanf("%d\n", &dificuldade); // está esperando a resposta 2 vezes, onde a primeira resposta é guardada e a segunda conta como chute,de forma a aparecer com atrasado nas respostas do "seu chute:"
if(dificuldade == 1){
ntentativas = 20;
}else if(dificuldade == 2){
ntentativas = 15;
}else{
ntentativas = 6;
}
printf(" Dificuldade: %d\n\n", dificuldade);
for(int i = 1; i <= ntentativas; i++){
printf(" Tentativa: %d\n", i);
int chute;
printf(" Qual eh o seu chute: ");
scanf("%d\n" , &chute);
printf(" Seu chute: %d\n\n" , chute); // está repetindo o penultimo valor inserido e não o chute atual.
int maior = (chute > numerosecreto);
if(chute < 0){
printf(" O seu chute nao pode ser um numero negativo, tente um positivo!\n\n");
i--;
}
if(chute == numerosecreto){
acertou = 1;
break;
} else if(maior){
printf(" O seu chute eh maior que o Numero Secreto!\n\n");
} else {
printf(" O seu chute eh menor que o Numero Secreto!\n\n");
}
}
if(acertou){
printf(" Parabens Voce Venceu!!\n");
printf(" Volte mais vezes!!\n\n");
}else{
printf(" Voce perdeu essa, tente novamente!\n\n");
}
}