Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ///---main.cpp---\\\
- #include<conio.h>
- #include<iostream>
- #include<ctime>
- #include"klasy.h"
- void main()
- {
- srand(static_cast<unsigned>(time(NULL))); //ustawienie seed'a
- CLosuj* pLos = new CLosuj; //deklaracja wksaznika na klasę CLosuj
- CSprawdz* pCheck = new CSprawdz; //deklaracja wskaźnika na klasę CSprawdz
- int Los[6]; //deklaracja tablicy przechowującej wylosowane liczby
- char wybor; //deklaracja zmiennej do wyboru opcji menu programu
- do
- {
- std::cout << "**** LOTTO ****" << std::endl //MENU
- << "*** 0 - end ***" << std::endl //MENU
- << "***************" << std::endl; //MENU
- wybor = getch(); //wybor opcji menu
- for (int i = 0; i <= 5; i++)
- {
- Los[i] = pLos -> Losuj(); //losowanie liczby
- pCheck -> Dodaj(Los[i], i); //dodawanie liczby do tablicy sprawdzającej
- std::cout << i +1 << ": " <<Los[i] << std::endl; //wyświetlenie liczby
- if (i == 5)
- {
- std::cout << "---" << std::endl;
- bool jest = pCheck -> Check(); //sprawdzenie liczb
- if (jest)
- {
- i = -1; //w przypadku powtórzenia liczby, restart pętli głównej
- }
- }
- }
- }
- while (wybor != '0');
- }
- ///---klasy.h---\\\
- #include<conio.h>
- class CLosuj
- {
- private:
- int m_nLos;
- public:
- CLosuj() { }; //konstruktor
- ~CLosuj() { }; //destruktor
- int Losuj(); //metoda losująca
- };
- class CSprawdz
- {
- private:
- int m_aLosy[6];
- public:
- CSprawdz() { }; //konstruktor
- ~CSprawdz() { }; //destruktor
- void Dodaj(int liczba, int i); //metoda dodawajaca liczby do tablicy sprawdzającej
- bool Check(); //metoda sprawdzająca unikatowość liczb
- };
- ///---funkcje.cpp---\\\
- #include<iostream>
- #include<conio.h>
- #include<ctime>
- #include"klasy.h"
- int CLosuj::Losuj()
- {
- return m_nLos = rand() % 100 + 1; //wylosowanie liczby i zwrócenie jej wartości
- m_nLos = NULL;
- }
- void CSprawdz::Dodaj(int liczba, int i)
- {
- m_aLosy[i] = liczba; //dodanie liczby do tablicy sprawdzającej
- }
- bool CSprawdz::Check()
- {
- for (int i = 0; i <= 5; i++)
- {
- for (int j = 0; j <= 5; j++)
- {
- if ( i == j ){ break; } //zmienna >>i<< nie może być równa zmiennej >>j<<, ponieważ gdyby zaistaniała taka sytuacja, sprawdzane byłoby m_aLosy[i] = m_aLosy[i], co zaburzyłoby pracę programu
- else
- {
- if (m_aLosy[i] == m_aLosy[j])
- {
- return true; //zwracanie 'true' jeżeli któraś z liczb sie powtórzyła
- }
- }
- }
- }
- return false; //zwracanie false, jeżeli żadna z liczb się nie powtórzyła
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement