1
resposta

[Bug] Problema no calculo da pontuação

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:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

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?

1 resposta

Testei aqui e correu tudo certinho, não sei dizer o porquê do seu estar aparecendo em notação. Usei o GDB Online Debugger para fazer um teste rápido e funcionou.!(https://cdn1.gnarususercontent.com.br/1/6230192/d4c76910-f34f-4178-974b-a72339db1fbb.png)