Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

inesbras

Duvida de C++ - validações do...while

Mensagens Recomendadas

inesbras

Boa tarde,

Estou a fazer um Jogo de Euromilhões em c++ (com uma serie de especificações), e estou a precisar de umas luzes.

A certa altura do programa, o utilizador fornece uma chave manualmente, e o programa tem que fazer a validação (ver se tem numeros e estrelas repetidos ou fora do limite). Tem que ser feito com do ... while, ja andei ai as voltas, mas estava-me a dar erro. (/* FORNECER CHAVE VENCEDORA */ )

Esta dava-me mesmo jeito saber, visto que vou ter que fazer varias validações.

Vou postar apenas uma parte do codigo porque enfim...vai haver muita gente a procurar por isto.

Outra duvida menos importante, é no /*MENU*/ , onde mediante o número de Apostas (1 a 5), deve criar o seguinte output:

"

Quantas apostas deseja fazer? (maximo 5 apostas)

2

Aposta 1:  Deseja fornecer manualmente (1), automaticamente (2) ou por ficheiro (3) uma chave de aposta?

2

Aposta 2:  Deseja fornecer manualmente (1), automaticamente (2) ou por ficheiro (3) uma chave de aposta?

"

Se o numero de apostas for 3,aparece um menu para a Aposta 1, Aposta 2, e Aposta 3, por ai fora.

Estava a fazer com "case", mas assim aquilo fica enorme. Há alguma maneira de por aquilo menor, sem ter que estar a copiar tudo?

(O menu ainda está incompleto, só pus as indicações na aposta 1)

São estas duvidas iniciais, sabendo isso julgo que consigo fazer o resto.

Agradecia qualquer ajuda.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

não digo nada até teres o código bem identado ... pode ser desta que interiorizes que certas coisas não é só para ficar bonito


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pmg

em c++

#include <stdio.h> 
#include <stdlib.h> 
#include <time.h> 

Eu nao sei C++, por isso nao respondo as tuas duvidas.

Mas tenho uma sugestao:

Tenta evitar os headers de compatabilidade com C nos teus programas. Usando os headers proprios de C++ compartimentalizas as funcoes no namespace std em vez de estares a poluir o namespace geral com as definicoes dos headers de compatabilidade

O header de C++ que substitui o header <stdio.h> é o <iostream> (ou o <cstdio> para maior compatabilidade).

Os outros nao sei ... mas deve ser algo parecido.


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
KTachyon

Podes utilizar um pequeno array de chars, ou mesmo um conjunto de bits, onde registas cada número gerado e verificas a cada inserção/random se os valores já foram preenchidos. Para imprimir, percorres a memória sequencialmente e imprimes quando encontras um valor marcado. Por exemplo, no caso do random:

char chave[MAX_NUM] = {0};

for(int i=0; i < MAX_PLAYS; i++) {
    int g = rand() % 50;
    
    if (chave[g] > 0) { i--; continue; }
    chave[g] = 1;
}

/* Imprimir */
for (int i = 0; i < MAX_NUM; i++) {
    if (chave[g] > 0) 
        printf("%d ", g+1);
}

Em relação ao menu, não percebo o que queres dizer, mas se achas que tens uma função muito grande, podes segmentar o programa em várias funções.


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.