Gå til innhold

GUI for mitt lotto-program


Anbefalte innlegg

Jeg har laget ett lotto-program som når kjøres, spytter ut en lottokupong med unike tall pr. rekke og som er sortert fra lav til høy.

Det neste steget blir å lage en GUI, men jeg vet ikke helt hvordan jeg skal begynne. Tips/hjelp settes stor pris på! :)

 

Koden for de som er interessert:

 

//
//  main.cpp
//  Lotto
//
//  Created by Thomas Nilsen on 01.02.12.
//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//

#include <iostream>

using namespace std;

const int NED  = 10;			
const int BORT =  6;

void quickSort(int arr[], int left, int right);
int checkDuplicates(int arr[], int length);

int main (int argc, const char *argv[])
{
   int lottoTall[6];
int kupong[10][6];
   int tall, i, j, k;
srand((unsigned)time(NULL));	
   tall = (rand() % 48) + 1;		

   cout << "\n\nLotto-kupongen sortert: " << "\n\n";

   for (i = 0; i < NED; i++)       //10 nedover
   {
       for (j = 0; j < BORT; j++)  //6 bortover
       {
           lottoTall[j] = tall;							
           tall = (rand() % 48) + 1;       
}
	if(checkDuplicates(lottoTall, 6) != -1)		
	{
		for(k = 0; k < BORT; k++)
		{
			while(checkDuplicates(lottoTall, 6) == lottoTall[k])	
			{
				lottoTall[k] = (rand() % 48) + 1;		
			}
		}
	}
	quickSort(lottoTall, 0, 5);   
       cout << '\n';

       for(j = 0; j < BORT; j++)
       {
           kupong[i][j] = lottoTall[j]; 
           cout << kupong[i][j] << '\t'; 
       }

   }	

   return 0;
}

void quickSort(int arr[], int left, int right) 
{
   int i = left, j = right;
   int tmp;
   int mid = arr[(left + right) / 2];

   while (i <= j) 
   {
       while (arr[i] < mid)    i++;
       while (arr[j] > mid)    j--;
       if (i <= j) 
       {
           tmp = arr[i];
           arr[i] = arr[j];
           arr[j] = tmp;
           i++;
           j--;
       }
   };
   if (left < j)   quickSort(arr, left, j);
   if (i < right)  quickSort(arr, i, right);
}

int checkDuplicates(int arr[], int length)
{
for(int i = 0; i < length; i++)
{
	for(int j = i + 1; j < length; j++)
	{	
		if(arr[i] == arr[j])	return arr[j];
	}
}
return -1;	

}

Endret av Nilzone
Lenke til kommentar
Videoannonse
Annonse

Du får se på wxWidgest,QT,GTK+.

Dette er kryssplattform GUI som virker i mange språk.

Jeg testet alle og har en god del erfaring med wxpython(wxWidgest) ettersom jeg bruker python mye.

 

Ser du ikke har vært lat og brukt sort(),men skrevet en quickSort funksjon.

Du kan se på tutorial for de fleste GUI toolkit her Zetcode

 

For gøy kan jeg lage raskt et lotto program i python.

import random

def lotto_numbers(row_nr):
   d = {}
   for numb,i in enumerate(xrange(row_nr), 1):
       d[numb] = sorted(random.sample(xrange(1,35), 7))
   return d

def main():
   row_nr = 3
   lotto = lotto_numbers(row_nr)
   for k,v in lotto.items():
       print k,v

if __name__ == '__main__':
   main()

'''Output-->
1 [1, 13, 14, 18, 23, 29, 32]
2 [4, 6, 15, 16, 19, 21, 26]
3 [4, 5, 9, 18, 25, 28, 34]
'''

Denne følger norsk lotto 7(1-34)

Ser du har 6(1-49)

 

Kunne ha vært gøy og lage GUI som "Din Lottokupong" som generer 10 rekker av 7 random tall(lik koden min bare bruke "row_nr = 10")

https://www.norsk-tipping.no/spill/lotto

Kan jo poste koden viss jeg lager GUI for det,men C++ er nok litt mere knotete så koden vil kansje ikke hjelpe deg så mye.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...