Hvordan lage et lotteri spill ved hjelp av C ++

Hvordan lage et lotteri spill ved hjelp av C ++


Opprette et lotteri spill i C ++ er en fin måte å introdusere deg til det grunnleggende brukerundersøkelser, produksjon, matriser, tilfeldige tall og sløyfer. Å kode et lotteri spillet må du først ha brukerundersøkelser hans tall og lagre dem i en rekke heltall. Du får deretter datamaskinen lage en liste over tilfeldig vinnende lottotrekningen. Endelig sammenligne datamaskinens tall med brukerens tallene og se om de alle kampen, gratulerte brukeren hvis han vant.

Bruksanvisning

1 Åpne C ++ filen i et redigeringsprogram, for eksempel Microsoft Visual Studio Express.

2 Inkluder bibliotekene er nødvendige for å få tilgang til de ulike funksjonene i programmet ved å legge til følgende kode på toppen av filen:

inkluderer <cstdlib> // standard libraryinclude <stdio.h> // for I / O functionsinclude <ctime> // for tiden ()

3 Erklærer variabler å bruke i programmet og gi startverdier ved å legge til følgende kode i hovedfunksjon:

const int SIZE = 6; // hvor mange lottotrekningen

const int LOTTERY_MIN_NUM = 1; // Minimum lotteri nummer

const int LOTTERY_MAX_NUM = 53; // Maksimal lotteri nummer

const int MAXBUFFERSIZE = 3;

int lottery_numbers [STØRRELSE]; // Vinnende datamaskin lottotrekningen

int user_numbers [STØRRELSE]; // brukerundersøkelser tall

char ch;

char buffer [MAXBUFFERSIZE];

int char_count = 0;

int tall = 0;

int valid_number = 0;

int n = 0;

int seier = 0;

4 Samle brukerens lottotrekningen ved å legge til følgende kode:

printf ( "Skriv% d lottotrekningen, ett per linje (% d-% d) \ n", SIZE, LOTTERY_MIN_NUM, LOTTERY_MAX_NUM);

for (n = 0; n <STØRRELSE; n ++)

{

valid_number = 0;

while (valid_number == 0)

{

lm = getchar ();

char_count = 0;

while ((kap! = '\ n') && (char_count <MAXBUFFERSIZE))

{

buffer[char_count] = ch;

lm = getchar ();

char_count ++;

}

if (char_count <MAXBUFFERSIZE)

{

buffer[char_count] = '\0';

}

ellers

{

printf("Invalid number. Enter a number between %d and %d\n",LOTTERY_MIN_NUM,LOTTERY_MAX_NUM);

buffer [MAXBUFFERSIZE - 1] = '\ 0';

valid_number = 0;

fortsette;

}

nummer = atoi (buffer);

if ((nummer <LOTTERY_MIN_NUM) || (nummer> LOTTERY_MAX_NUM))

{

printf("Invalid number. Enter a number between %d and %d\n",LOTTERY_MIN_NUM,LOTTERY_MAX_NUM);

valid_number = 0;

}

ellers

{

user_numbers[n] = number;

valid_number = 1;

}

}

}

Brukeren innganger hans tall ett per linje. Ugyldig input, slik som for mange siffer eller et nummer utenfor gyldig område, forårsaker en feilmelding og viser en melding ber om et annet nummer. Tallene er lagret i "user_numbers" array, slik at «user_numbers [0]" er deres første nummer og "user_numbers [1]" er deres andre tall.

5 Vise bruker valgt tall på en linje med en "for" loop, ved å legge til følgende kode:

printf ( "\ n \ nDine tall:");

for (n = 0; n <STØRRELSE; n ++)

{

printf ( "% d", user_numbers [n]);

}

6 Beregn tilfeldig vinnende lottotrekningen med "rand" -funksjonen og vise dem med følgende kode:

srand ((usignert) tid (0));

printf ( "\ n \ nDe vinnende lottotrekningen:");

for (n = 0; n <STØRRELSE; n ++)

{

lottery_numbers [n] = (rand ()% (LOTTERY_MAX_NUM - LOTTERY_MIN_NUM + 1)) + LOTTERY_MIN_NUM;

printf ( "% d", lottery_numbers [n]);

}

Bruke "tid" -funksjonen med "srand" -funksjonen gjør det tilfeldig nummer generator mer tilfeldig ved seeding den til den nåværende verdien av systemklokken.

7 Finn ut om brukeren matchet vinnende lottotrekningen og vise en passende melding, ved å legge til følgende kode:

vinn = 1;

for (n = 0; n <STØRRELSE; n ++)

{

if (lottery_numbers [n]! = user_numbers [n])

{

printf ( ". \ n \ nSorry, gjorde du ikke vinne Vennligst spille igjen \ n");

seier = 0;

gå i stykker;

}

}

if (vinne == 1)

{

printf ( "Gratulerer du vant \ n");

}

8 Vent på brukerundersøkelser, slik at programmet ikke umiddelbart nær. Hvis du vil at programmet skal kjøres flere ganger, plasser det hele i en "mens" loop.

getchar ();

9 Lagre C ++ kildefilen, kompilere og kjøre programmet for å vise lotteri spillet.