Atualmente o meu codigo está assim:
#include <iostream>
using namespace std;
int main() {
cout << "***************************************" << endl;
cout << "** Bem Vindo ao jogo da adivinhacao! **" << endl;
cout << "***************************************" << endl;
const int NUMERO_SECRETO = 42;
bool nao_acertou = true;
int tentativas = 0;
double pontuacao = 1000.0;
double pontuacao_final;
while (nao_acertou) {
tentativas++;
int chute;
cout << "Pontuacao Inicial: " << pontuacao << endl;
double pontos_perdidos = abs(chute - NUMERO_SECRETO)/2.0;
cout << "Pontos Perdidos: " << pontos_perdidos << endl;
pontuacao_final = pontuacao - pontos_perdidos;
cout << "Pontuacao Final: " << pontuacao_final << endl;
cout << "Informe um numero para o chute!" << endl;
cin >> chute;
cout << "O valor do chute foi: " << chute << endl;
if (chute == NUMERO_SECRETO) {
cout << "Parabens! Voce acertou o numero secreto, com " << tentativas << " tentativas." << endl;
nao_acertou = false;
}
else if (chute < NUMERO_SECRETO) {
cout << "O numero secreto e maior" << endl;
}
else if (chute > NUMERO_SECRETO) {
cout << "O numero secreto e menor" << endl;
}
else if (chute < 0) {
cout << "Digite um numero maior que zero" << endl;
}
}
cout << "Fim de jogo!" << endl;
cout.precision(2);
cout << fixed;
cout << "Sua pontuacao final foi de: " << pontuacao_final << " pontos." << endl;
}
Quando eu inicio o jogo a pontuacao aparece assim, em notação científica no inicio do programa:
TESTE 1
Primeiro iniciei digitando 30 e depois 42, a pontuação final a ser mostrada no final deveria ser 994 e nao 1000.
TESTE 1
Primeiro iniciei digitando 20 e depois 42, a pontuação final a ser mostrada no final deveria ser 989 e nao 1000.
Alguem consegue me ajudar a resilver esse bug, pois alguma coisa esta errada?