Independente do número de tentativas, a pontuação sai como 1000. O código é o seguinte:
#include<iostream>
#include<stdlib.h>
using namespace std;
int main () {
cout << "***********************************"<< endl;
cout << "*Bem vindos ao Jogo da Adivinhação*"<< endl;
cout << "***********************************"<< endl;
const int NUM = 42;
bool naoacertou = true;
int tentativa = 0;
double PONTOS = 1000.0;
while (naoacertou) {
tentativa = tentativa + 1 ;
cout << "tentativa nº: " << tentativa << endl ;
cout << "Qual o seu chute? ";
int chute;
cin >> chute;
double pontosperdidos = abs((chute - NUM)/2.0);
bool acertou = chute == NUM;
bool maior = chute > NUM;
if (acertou){
cout << "Parabéns, você acertou o número secreto.";
cout << endl;
if (tentativa > 1){
cout << "você acertou em " << tentativa << " tentativas e";
}
else
cout << "você acertou em " << tentativa << " tentativa e";
if ((PONTOS - pontosperdidos) != 1){
cout << " fez " << (PONTOS - pontosperdidos) << " pontos.";
}
else
cout << " fez 1 ponto." ;
naoacertou = false;
}
else if (maior) {
cout << "O seu chute foi maior do que o número secreto.";
}
else
cout << "seu chute foi menor do que o número secreto.";
cout << endl ;
}
cout << "Fim de jogo" ;
}