Programa Mega Sena

Postado por Samuel Lima em 29 de Março de 2015  •  Comentários (0)  • 

Entendendo claramente o que é variável, que não passa de uma parte de memória onde se armazena valores de um determinado tipo,
podemos dizer que ponteiro também é uma variável que carrega um endereço de uma posição de outra variável.
Quando uma variável possui o endereço de outra, dizemos em C
que uma variável está apontando para outra.
Para declarar um ponteiro escolhemos primeiro o tipo, adequado permitido e em seguida damos um nome precedendo de um *.
Ex: tipo *nome_da_variavel;
Vale lembrar que podemos criar ponteiros para qualquer tipo aceito no C, e que são usados só dois operadores especiais, que são o * e o &.
O operador que devolve o endereço de memória é o & que é considerado um operador unário, isto é, trabalha sobre uma variável para modificar, ou manter um determinado valor.
A matriz de ponteiro static char *Mat_Mesg [ ] = {}; com a palavra reservada static declarada local, utiliza a passagem de parâmetros por valor, observe o uso do apontador e veja que uma cópia fiel
é passada para a função Sub_Titulos ( int x, char *Mat_Mesg [ ] );
De onde vem as chamadas das mensagens de interação com o usuário do programa.
Em outras funções que também receberam parâmetros forcei o uso de ponteiros, onde foram obrigatoriamente usados para um bom desempenho do programa.
A função Sorteia_Mega_Sena( int *A ); é a mais importante, é nela onde são gerados os números aleatórios dentro de uma faixa estreita, entre 1 e 60, fiquei muitas horas empenhados nesta função porque os valores se repetiam, não foi fácil fazer isto que parece ser tão simples.
A lógica pra resolver isto foi trabalhar com estas repetições, anulando a sequência e gerando outra, isto é feito automaticamente pelo programa, e duvido que alguém perceba que houve repetições, porque tudo acontece muito rápido.
Fica bem claro que é exigido um bom conhecimento de ponteiros e alocação dinâmica para entender este código, portanto não é indicado a quem está iniciando agora.

Tags: C/C++ |

  • Download
  • Comentar
  • Comentários
blog comments powered by Disqus

Comentários ir para topo

Código fonte ir para topo