Como criar um sistema de pontos em C++? [RESOLVIDO]

1. Como criar um sistema de pontos em C++? [RESOLVIDO]

Keven
CPUKEVEN

(usa Ubuntu)

Enviado em 09/02/2020 - 16:14h

Então faz apenas 3 semanas que estou estudando C++ gostaria de saber como posso está fazendo um sistema de pontos simples nesse programa que deixarei no codigo abaixo, creio que seja facil fazer mais não tenho a minima ideia de como fazer dushduasd.

#include <iostream>
#include <time.h>

using namespace std;

void draw(int size = 100){
for (int i = 0;i < size; i++){
cout << "#";
}
}

void space(){
cout << "\n";
}


int main(void){

int resultado;

draw(100);
space();
cout << "\n\t\t\t\tPraticando a tabuada" << "\n";
cout << "\t\tTente acerta o maximo de contas se possivel. Boa Sorte :)" << "\n";
space();
draw(100);

for(int i = 0;i < 5;i++){


int numerogerado[2];
srand(time(nullptr));
numerogerado[0] = rand() % 10 + 1;
numerogerado[1] = rand() % 10 + 1;

int total;
total = numerogerado[0] * numerogerado[1];

cout << "Multiplicação: ";
cout << numerogerado[0] << " x " << numerogerado[1] << " -> ";
cin >> resultado;

if(resultado == total){
cout << "Você acertou a multiplicação cujo o resultado foi: ";
cout << total << "\n";
}

else {
cout << "Você errou mais continue tentando :)" << "\n";
}
}
}



  


2. Re: Como criar um sistema de pontos em C++?

Adriano Siqueira
adrisiq

(usa KDE Neon)

Enviado em 20/02/2020 - 16:04h

Poderia ser feito assim:
#include <iostream>
#include <random>
#include <climits>

#if defined(_WIN32)
#define limparTela system("cls")
#define esperar system("pause")
#elif defined(__linux__)
#define limparTela system("clear")
#define esperar system("read null")
#endif

using std::cout;
using std::cin;
using std::random_device;
using std::mt19937;
using std::uniform_int_distribution;

int main() {
int quantidadePerguntas = 5;
int acertos = 0;
int erros = 0;
int pontos = 0;

double percentualAcertos = 0.0;
double percentualErros = 0.0;

// Prepara os geradores de números aleatórios
random_device device;
mt19937 mt(device());
uniform_int_distribution<int> distribution(1, 10);

// Exibe o cabeçalho
limparTela;
cout << "Desafio de Multiplicação \n"
<< "Aperte [ ENTER ] para começar \n";
esperar;
limparTela;

for (int i = 0; i < quantidadePerguntas; i++) {
int valores[3];
valores[0] = distribution(mt);
valores[1] = distribution(mt);
valores[2] = valores[0] * valores[1];

int resposta = INT_MIN;

cout << valores[0] << " x " << valores[1] << " = ";
cin >> resposta;
cin.ignore();

if (resposta == valores[2]) {
acertos += 1;
} else {
erros += 1;
}
}

/*
* Regra de negócio:
* - para cada acerto ganha 2 pontos
* - para cada erro perde 1 ponto
*/
pontos = acertos * 2 - erros;

// Calcula os percentuais
percentualAcertos = acertos * 100.0 / quantidadePerguntas;
percentualErros = 100 - percentualAcertos;

// Exibe o placar
limparTela;
cout << "---------------------------------------------------- \n"
<< "Placar \n"
<< "Perguntas: " << quantidadePerguntas << "\n"
<< " Acertos: " << acertos << " ( " << percentualAcertos << "% )" << "\n"
<< " Erros: " << erros << " ( " << percentualErros << "% )" << "\n"
<< " Pontos: " << pontos << "\n"
<< "---------------------------------------------------- \n"
<< "[ ENTER ] \n";

esperar;
limparTela;
return EXIT_SUCCESS;
}







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts