/* UTF-8 Teh Lottokone v0.1c by Mika Hynnä 27.1.2007 */ #include #include #include using namespace std; //Luokka: Lotto class Lotto { private: int *p_numerot_; //Pointteri joka osoittaa lottonumerotaulukon sijaintiin muistissa int lotto_min_; //Arvottavien numeroiden minimi... int lotto_max_; //..ja maximi arvo. int lotto_count_; //Lottonumeroiden määrä int Random(int min, int max); //Palauttaa kokonaisluvun väliltä min ja max public: void TulostaNumerot(); //Tulostaa näytölle lottonumerot void ArvoNumerot(); //Arpoo lottonumerot, sama numero ei voi esiintyä kuin kerran void Jarjesta(); //Järjestää aiemmin arvotut lottonumerot pienimmästä suurimpaan Lotto(); //Muodostin luokalle Lotto, varaa muistiavaruuden 7:lle kokonaisluvulle ja asettaa arvottavien lottonumeroiden arvoalueeksi 1 - 39. Numerot alustetaan arvolla 0; Lotto(int lotto_count,int lotto_min,int lotto_max); //Parametrillinen muodostin, ottaa kokonaislukuparametreina lottonumeroiden määrän ja arvottavien numeroiden pienimmän ja suurimman arvon. Minimi ja maksimi arvot eivät voi olla pienempiä kuin nolla ja lotto_max >= lotto_min. Lottonumerotaulukko p_numerot_ alustetaan arvolla 0. ~Lotto(); //Loukan lotto tuhoaja, vapautetaan lottonumero-taulukon varaama muisti ja asetetaan käytetty pointteri nollaksi int PalautaNumero(int numero); //Palauttaa lottonumeron, jos ei löydy niin -1 int PalautaLukumaara(void); //Palauttaa lottonumeroiden kokonaismäärän }; Lotto::Lotto() { int i=0; lotto_count_ = 7; lotto_min_ = 1; lotto_max_ = 39; p_numerot_ = new int[lotto_count_]; for (i=0;i lotto_max) { lotto_max = lotto_min; } if (lotto_count > (lotto_max - lotto_min) + 1) { lotto_count = (lotto_max - lotto_min) +1; } if (lotto_count < 1) lotto_count = 1; lotto_count_ = lotto_count; lotto_min_ = lotto_min; lotto_max_ = lotto_max; p_numerot_ = new int[lotto_count_]; for (i=0;i 0)) { return (p_numerot_[numero]); } else { return (-1); } } int Lotto::PalautaLukumaara(void) { return (lotto_count_); } int main () { int i=0; Lotto lottorivi = Lotto(7,1,39); Lotto vikinglottorivi = Lotto(6,1,48); lottorivi.ArvoNumerot(); lottorivi.Jarjesta(); cout << "Lottorivi on: "; lottorivi.TulostaNumerot(); cout << endl; vikinglottorivi.ArvoNumerot(); vikinglottorivi.Jarjesta(); cout << "Viking lottorivi on: "; for (i=0;i