summaryrefslogtreecommitdiffstats
path: root/Bachelor/Prog1/probeklausur/lottogenerator.cpp
blob: 02c0f46613408803ff4fd14639b07779b37ce6e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
// Sven Eisenhauer
// Probeklausur 09.02.2005
//
// Implementation of class LottoGenerator

#include <iostream>
#include <new>
using std::cout;
using std::endl;

#include <iomanip>
using std::setw;

#include "lotto.h"

LottoGenerator::LottoGenerator()
    :ARRAY_SIZE(6)
{
	numberOfDraws=0;
	sixNumbers = new int[ARRAY_SIZE];
	for (int i=0;i<ARRAY_SIZE;i++)
		sixNumbers[i]=0;
}

LottoGenerator::~LottoGenerator()
{
	delete [] sixNumbers;
	cout << endl << "Number of draws: " << numberOfDraws << endl;
}

void LottoGenerator::drawAllNumbers()
{
	const int nrBalls=49;
	int temp;
	int randPos;
	int balls[nrBalls];
	
	for (int i=0;i<nrBalls;i++)
		balls[i]=i+1;

	for (i=0;i<nrBalls;i++)
	{
		randPos=(rand()%49)+1;
		temp=balls[i];
		balls[i]=balls[randPos];
		balls[randPos]=temp;
	}

	for (i=0;i<ARRAY_SIZE;i++)
	{
		sixNumbers[i]=balls[i];
	}
	seventhNumber=balls[i+1];

	numberOfDraws++;
}

void LottoGenerator::printAllNumbers()
{
	cout << endl << "Zahlen: ";
	for (int n=0;n<ARRAY_SIZE;n++)
		cout << setw(4) << sixNumbers[n];
	cout << endl << "Zusatzzahl: " << seventhNumber;
}

void LottoGenerator::sortSixNumbers()
{
	int temp;

	for (int i=0;i<ARRAY_SIZE;i++)
	{
		for (int j=i;j<ARRAY_SIZE;j++)
		{
			if (sixNumbers[j]<sixNumbers[i])
			{
				temp=sixNumbers[i];
				sixNumbers[i]=sixNumbers[j];
				sixNumbers[j]=temp;
			}
		}
	}
}

int LottoGenerator::getAllNumbers(int * Numbers)
{
	for(int i=0;i<ARRAY_SIZE;i++)
		Numbers[i]=sixNumbers[i];
	return seventhNumber;
}