Einzelnen Beitrag anzeigen
Alt 04.03.09, 22:19   #26 (permalink)
Alopex
 
Registriert seit: 31.01.09
Alopex Leistung: Facit NTK
Likes: 0
Standard

Ich habe mich auch mal dran gesetzt und was erstellt.
Muss dazu sagen das ich noch ziemlicher Anfänger bin und deswegen vielleicht das eine oder andere zu komplizier gemacht habe. (Über Tipps würde ich mich freuen)

Ich frage mich jedoch ob das alles so richtig ist. Bei den Ergebnis wie lange man für 6 Richtige bräuchte kommt bei mir meist irgend was so um die 100000-500000 ich dachte eigentlich man bräuchte mehr Ziehungen bis zu 6 Richtigen

lotto.h   
Code:
#pragma once
#include <vector>

class lotto
{
	int wahl[6], ziehung[6], richtige, ben_ziehungen;
	std::vector<int> zahlen;
public:
	lotto();
	int ziehen();
	void simulation();
};


lotto.cpp   
Code:
#include "lotto.h"
#include <iostream>
#include <time.h>

lotto::lotto()
{
	srand( time( NULL ) );

	for( int i = 1; i <= 49; i++)
	{
		zahlen.push_back(i);
	}

	for( int i = 0; i < 6; i++ )
	{
		std::cout << "Bitte " << i+1 << ". Zahl eingeben!" << std::endl;
		std::cin >> wahl[i];
		if( wahl[i] <= 0 || wahl[i] > 49 )
		{
			std::cout << "Ungültige Zahl! Die Eingabe muss zwischen 1 und 49 liegen." << std::endl;
			i--;
			continue;
		}
		for( int j = 0; j < i; j++ )
		{
			if( wahl[i] == wahl[j] )
			{
				std::cout << "Eingegebene Zahl wurde bereits eingegeben!" << std::endl;
				i--;
				break;
			}
		}
	}
}

int lotto::ziehen()
{
	for( int i = 0; i < 6; i++ )
	{
		ziehung[i] = rand() % 49 + 1;
	}

	richtige = 0;
	for( int i = 0; i < 6; i++ )
	{
		
		for( int j = 0; j < 6; j++ )
		{
			if( wahl[i] == ziehung[j] )
			{
				richtige++;
			}
		}
	}
	return(richtige);
}

void lotto::simulation()
{
	ben_ziehungen = 0;
	do
	{
		ziehen();
		ben_ziehungen++;
	}
	while( richtige != 6 );
	std::cout << "Nach " << ben_ziehungen << " Ziehungen hätten sie gewonnen. ;)" << std::endl;
}


main.cpp   
Code:
#include <iostream>
#include "lotto.h"

using namespace std;

int main()
{
	lotto test = lotto();
	std::cout << "Sie haben " << test.ziehen() << " Richtige!" << std::endl;
	test.simulation();
	system("Pause");
}
Alopex ist offline   Mit Zitat antworten
 

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