Jump to content
Fórum Script Brasil
  • 0

Programa euromilhões em c++


Question

Boa noite. Gostaria que me ajudassem a corrigir este algoritmo. Tenho de fazer um programa que simule o euromilhões e ainda verificar quantos números acertei e atribuir prémios respetivos. Não consigo não deixar o utilizador introduzir números repetidos. Além disso os contadores parecem não estar a funcionar corretamente.

O algoritmo é o seguinte:

#include <iostream>
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
using namespace std;
int z;
int y;
int numeros[5];
int i;
int estrelas[2];
int c;
int w,u;
int contador=0;
int contador2=0;
void chave_aleatoria(int numeros_chave[])
{
    srand(time(NULL));
    cout << "os numeros são"<<endl;
    for(z=0;z<5;z++)
    {
        numeros_chave[z]= 1+rand() % 50;
        cout << numeros_chave[z] << endl;
        if (numeros==numeros_chave[z])
        {
        contador++;
        }
    }
}
void chave_aleatoria2(int estrelas_chave[])
{
    srand(time(NULL));//não pode repetir; não sei como fazer
    cout << "as estrelas são"<<endl;
    for(y=0;y<2;y++)
    {
        estrelas_chave[y]= 1+rand() % 12;
        cout << estrelas_chave[y] << endl;
        if (estrelas[c]==estrelas_chave[y])
        {
        contador2++;
        }
    }
}
int main()
{
    int vetor[50];
    for (i=0;i<5;i++)
    {
        do
        {
        cout << "Introduza um numero "<< endl;
        cin >> numeros;
        }
        while (numeros<1 || numeros>50 || numeros==numeros[i-1]);
    }
    int vetor2[12];
    for (c=0;c<2;c++)
    {
        do
        {
        cout << "Introduza uma estrela " << endl;
        cin >> estrelas[c];
        }
        while (estrelas[c]<1 || estrelas[c]>12 || estrelas[c]==estrelas[c-1]);
    }
    int numeros_chave[5];
    chave_aleatoria(numeros_chave);
    int estrelas_chave[2];
    chave_aleatoria2(estrelas_chave);
    if (contador==2 && contador2==0)
    {
        cout << "acertou 2 numeros e por isso venceu o decimo terceiro premio";
    }
    if (contador==2 && contador2==1)
    {
        cout << "acertou 2 numeros e 1 estrela e por isso venceu o decimo segundo premio";
    }
    if (contador==1 && contador2==2)
    {
        cout << "acertou 1 numero e 2 estrelas e por isso venceu o decimo primeiro premio";
    }
    if (contador==3 && contador2==0)
    {
        cout << "acertou 3 numeros e por isso venceu o decimo premio";
    }
    if (contador==3 && contador2==1)
    {
        cout << "acertou 3 numeros e 1 estrela e por isso venceu o nono premio";
    }
    if (contador==2 && contador2==2)
    {
        cout << "acertou 2 numeros e 2 estrelas e por isso venceu o oitavo premio";
    }
    if (contador==4 && contador2==0)
    {
        cout << "acertou 4 numeros e por isso venceu o setimo premio";
    }
    if (contador==3 && contador2==2)
    {
        cout << "acertou 3 numeros e 2 estrelas e por isso venceu o sexto premio";
    }
    if (contador==4 && contador2==1)
    {
        cout << "acertou 4 numeros e 1 estrela e por isso venceu o quinto premio";
    }
    if (contador==4 && contador2==2)
    {
        cout << "acertou 4 numeros e 2 estrelas e por isso venceu o quarto premio";
    }
    if (contador==5 && contador2==0)
    {
        cout << "acertou 5 numeros e por isso venceu o terceiro premio";
    }
    if (contador==5 && contador2==1)
    {
        cout << "acertou 5 numeros e 1 estrela e por isso venceu o segundo premio";
    }
    if (contador==5 && contador2==2)
    {
        cout << "acertou 5 numeros e 2 estrelas e por isso venceu o primeiro premio";
    }
    if (contador==0 && contador2==0)
    {
        cout << "não acertou nenhum numero nem nenhuma estrela e por isso não tem premio";
    }    
    if (contador==0 && contador2==1)
    {
        cout << "acertou apenas 1 estrela e por isso não tem premio";
    }
    if (contador==0 && contador2==2)
    {
        cout << "acertou apenas 2 estrelas e por isso não tem premio";
    }
    if (contador==1 && contador2==0)
    {
        cout << "acertou apenas 1 numero e por isso não tem premio";
    }
    if (contador==1 && contador2==1)
    {
        cout << "acertou apenas 1 numero e 1 estrela e por isso não tem premio";
    }
    cout << endl;
    system("pause");
}

Agradecia se me dessem uma ajuda

Abraço,

Pedro

Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      148691
    • Total Posts
      644524
×
×
  • Create New...