LegendaryBeazt
Mitglied
Hali Hallo,
Ich habe da ein kleines Problem bezüglich einer Übungsaufgabe:
-Man soll ein kleines Lotteriespiel erstellen. Im Konstruktor sollen die Anzahl der Spieler, der zu ziehenden zahlen und der Zalenbereich angegeben werden
-3 Methoden sollen erstellt werden:
-->setzen, welche von allen Spielern die Eingabe(Tipps) holt
-->ziehen, welche die Zahlen zieht und ausgibt
Dabei soll mit Vektoren gearbeitet werden.
Ich habe folgendes:
lotto.h
lotto.cpp
Die main:
Das Problem ist, wenn man das Programm ausführt. Dann erscheint in der Konsole 'gezogene Zahlen: ' und das Programm beendet sich.
Ich hab nach dem Fehler gesucht aber finde ihn einfach nicht...
Ich habe da ein kleines Problem bezüglich einer Übungsaufgabe:
-Man soll ein kleines Lotteriespiel erstellen. Im Konstruktor sollen die Anzahl der Spieler, der zu ziehenden zahlen und der Zalenbereich angegeben werden
-3 Methoden sollen erstellt werden:
-->setzen, welche von allen Spielern die Eingabe(Tipps) holt
-->ziehen, welche die Zahlen zieht und ausgibt
Dabei soll mit Vektoren gearbeitet werden.
Ich habe folgendes:
lotto.h
Code:
#ifndef LOTTO_H
#define LOTTO_H
#include <vector>
#include <iostream>
using namespace std;
class lotto
{
public:
lotto();
lotto(int anzahlSpieler, int anzahlZuZiehendeKarten, int anzahlMoeglicheKarten);
void setzen();
void ziehen();
private:
vector < vector<int> > spieler;
vector<int> gezogeneZahlen;
int anzahlSpieler;
int anzahlZuZiehendeKarten;
int anzahlMoeglicheKarten;
};
#endif // LOTTO_H
lotto.cpp
Code:
#include "lotto.h"
lotto::lotto()
{
}
lotto::lotto(int anzahlSpieler, int anzahlZuZiehendeKarten, int anzahlMoeglicheKarten)
{
this->anzahlSpieler = anzahlSpieler;
this->anzahlZuZiehendeKarten = anzahlZuZiehendeKarten;
this->anzahlMoeglicheKarten = anzahlMoeglicheKarten;
vector <vector<int>> list(anzahlSpieler, vector<int> (anzahlZuZiehendeKarten)); //Vektor mit anzahlSpieler stellen welche zuZiehendeKarten als größe haben
}
void lotto::setzen()
{
for(int i=0;i<spieler.size();i++)
{
cout << "Spieler " << i << " ziehen: " << endl; //für alle spieler alle Zahlen(Tipps) einlesen
for(int j=0;j<spieler[i].size();j++) {
cout << "Zahl " << j << " :";
int eingabe;
cin >> eingabe;
spieler[i][j] = eingabe;
cout << endl;
} cout << endl;
}
}
void lotto::ziehen()
{
cout << "Gezogene Zahlen: ";
for(int i=0;i<anzahlZuZiehendeKarten;i++) { //Zahlen ziehen und ausgeben
gezogeneZahlen[i] = rand()%anzahlMoeglicheKarten;
cout << gezogeneZahlen[i] << " ";
} cout << endl;
}
Code:
#include <iostream>
#include "lotto.h"
#include <vector>
using namespace std;
int main()
{
lotto l(2,5,20);
l.setzen();
l.ziehen();
return 0;
}
Das Problem ist, wenn man das Programm ausführt. Dann erscheint in der Konsole 'gezogene Zahlen: ' und das Programm beendet sich.
Ich hab nach dem Fehler gesucht aber finde ihn einfach nicht...