AninhasSilva Posted May 26, 2013 at 03:54 PM Report #509044 Posted May 26, 2013 at 03:54 PM Olá. Eu tenho uma dúvida que é a seguinte: Eu estou a fazer um programa, o jogo do euromilhões. Neste momento estou a comparar os valores para ver se o utilizador acertou em algum dos números gerados pelo computador. E a seguir dizer se acertou algum ou não e quais os valores que acertou. Eu não consigo fazer isso,será que alguém me pode dar uma ajudinha? Obrigada.
pwseo Posted May 26, 2013 at 04:00 PM Report #509046 Posted May 26, 2013 at 04:00 PM Tens que ser bastante mais específica nas tuas dúvidas. Da forma que escreveste, não colocaste pergunta nenhuma nem sequer mencionaste em que área tinhas dúvidas, por exemplo: Comparação de números inteiros Obtenção de input do utilizador Geração de números aleatórios ...
AninhasSilva Posted May 26, 2013 at 04:04 PM Author Report #509048 Posted May 26, 2013 at 04:04 PM (edited) O meu problema é ver quem é o vencedor. Eu já pus os números que queria e já gerei os números do pc agora falta confirmar se eu acertei algum numero que o computador gerou e depois de ver tem que escrever para o ecrã essa informação. O meu código é este: #include<windows.h> #include<stdio.h> #include<time.h> int main(int argc, char *argv[]) { int i,chave,estrela;//declara-se a variavel i, por exemplo HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); /* ************************************************************************************************************ Vai mostrar os numeros das chaves ************************************************************************************************************ */ SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE |FOREGROUND_GREEN |FOREGROUND_INTENSITY); //meter a cor a azul printf("Numeros:\n");//Vai escrever para o ecrã for(i=1;i<51;i++)//todos os numeros desde o 1 até 50 {//Abre a sequencia for printf(" %d ",i);// aqui vai mostrar todos os numeros }//Fecha a sequencia for printf("\n\n");//foi acrescentado o \n para fazer parágrafo, por razões estéticas /* ************************************************************************************************************ Vai mostrar os numeros das estrelas ************************************************************************************************************ */ SetConsoleTextAttribute(hConsole, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY); //meter cor a amarela printf("Estrelas: \n");//Vai escrever para o ecrã for(i=1;i<=11;i++)//todos as estrelas desde o 1 até 11 {//Abre a sequencia for printf(" %d ",i);// aqui vai mostrar todos as estrelas }//Fecha a sequencia for printf("\n\n");//foi acrescentado o \n para fazer parágrafo, por razões estéticas /* ************************************************************************************************************ Vai mostrar as apostas ************************************************************************************************************ */ SetConsoleTextAttribute(hConsole,FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE ); // voltar ao normal printf("1||Aposta\n");//vai imprimir o que está dentro de "" para o ecrã SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE |FOREGROUND_GREEN |FOREGROUND_INTENSITY); //meter a cor a azul printf("Introduza o numero 1:");//o utilizador vai introduzir um numero a seu gosto entre 1 e 50 scanf("%d",&chave);//vai ler qual é o numero da chave ordenada printf("Introduza o numero 2:");//o utilizador vai introduzir um numero a seu gosto entre 1 e 50 scanf("%d",&chave);//vai ler qual é o numero da chave ordenada printf("Introduza o numero 3:");//o utilizador vai introduzir um numero a seu gosto entre 1 e 50 scanf("%d",&chave);//vai ler qual é o numero da chave ordenada printf("Introduza o numero 4:");//o utilizador vai introduzir um numero a seu gosto entre 1 e 50 scanf("%d",&chave);//vai ler qual é o numero da chave ordenada printf("Introduza o numero 5:");//o utilizador vai introduzir um numero a seu gosto entre 1 e 50 scanf("%d",&chave);//vai ler qual é o numero da chave ordenada printf("\n");//foi acrescentado o \n para fazer parágrafo, por razões estéticas /* ************************************************************************************************************ Vai mostrar as estrelas ************************************************************************************************************ */ SetConsoleTextAttribute(hConsole, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY); //meter cor a amarela printf("Introduza a estrela 1:");//o utilizador vai introduzir uma estrela a seu gosto entre 1 e 50 scanf("%d",&estrela);//vai ler qual é a estrela da chave ordenada printf("Introduza a estrela 2:");//o utilizador vai introduzir uma estrela a seu gosto entre 1 e 50 scanf("%d",&estrela);//vai ler qual é a estrela da chave ordenada /* ************************************************************************************************************ Vai mostrar os numeros sorteados ************************************************************************************************************ */ printf("\n");//foi acrescentado o \n para fazer parágrafo, por razões estéticas printf("Os numeros sorteados sao :\n");//escreve quais os numeros sorteados srand(time(NULL));//gera numeros int n1 = (rand()%49)+1;//gera o 1º numero int n2 = (rand()%49)+1;//gera o 2º numero int n3 = (rand()%49)+1;//gera o 3º numero int n4 = (rand()%49)+1;//gera o 4º numero int n5 = (rand()%49)+1;//gera o 5º numero printf(" %d %d %d %d %d\n",n1,n2,n3,n4,n5);// mostra os 5 numeros sorteados /* ************************************************************************************************************ Vai mostrar os numeros sorteados ************************************************************************************************************ */ printf("\n");//foi acrescentado o \n para fazer parágrafo, por razões estéticas printf("As estrelas sorteados sao :\n");//escreve quais as estrelas sorteados srand(time(NULL));//gera numeros int e1 = (rand()%10)+1;//gera a 1º estrela int e2 = (rand()%10)+1;//gera a 2º estrela printf(" %d %d \n",e1,e2);// mostra as 5 estrelas sorteados /* ************************************************************************************************************ Mostra se o utlizador acertou em alguma chave e estrela ************************************************************************************************************ */ system("PAUSE"); return 0; } Vê se percebes agora qual é a minha dúvida. Obrigada Edited May 26, 2013 at 07:07 PM by pmg Code tags com GeSHi
pwseo Posted May 26, 2013 at 07:17 PM Report #509062 Posted May 26, 2013 at 07:17 PM Obrigado pmg por colocares o código dentro das tags apropriadas 🙂 AninhasSilva, já reparaste que estás a ler todos os valores do utilizador para a mesma variável? Quando chegas ao final, só tens registo do último número e da última estrela. E que tal utilizar um array para guardar o input do utilizador e posteriormente comparar com os números aleatórios gerados? Agora, a tua "dúvida" continua a ser algo que não sabemos o que é. Mas deu para perceber que não sabes como guardar o input e compará-lo posteriormente com os valores gerados. Mas usa um array para isso.
HappyHippyHippo Posted May 26, 2013 at 08:10 PM Report #509064 Posted May 26, 2013 at 08:10 PM além do problema já referido, tens um outro menos visível. nada impede que a escolha aleatório da chave seleccione elementos repetidos. a maneira mais simples de resolver o teu problema é com arrays. arranja um array de números de 1 a 50 (números) e outro de 1 a 11 (estrelas). depois baralha os arrays e escolhe os 6 primeiros elementos dos números e os 2 primeiros elementos das estrelas. dessa forma nunca terás elementos repetidos. depois disso, basta teres um ciclo de comparação dos elementos seleccionados pelo utilizador (algo que terás de corrigir como já foi referido) e os elementos seleccionados como chave. IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now