Advertisement
alch1337

Lotto

Sep 10th, 2011
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.75 KB | None | 0 0
  1. ///---main.cpp---\\\
  2.  
  3. #include<conio.h>
  4. #include<iostream>
  5. #include<ctime>
  6. #include"klasy.h"
  7.  
  8. void main()
  9. {
  10.     srand(static_cast<unsigned>(time(NULL)));                                   //ustawienie seed'a
  11.     CLosuj* pLos = new CLosuj;                                          //deklaracja wksaznika na klasę CLosuj
  12.     CSprawdz* pCheck = new CSprawdz;                                        //deklaracja wskaźnika na klasę CSprawdz
  13.     int Los[6];                                                 //deklaracja tablicy przechowującej wylosowane liczby
  14.     char wybor;                                                 //deklaracja zmiennej do wyboru opcji menu programu
  15.  
  16.     do
  17.     {
  18.         std::cout << "**** LOTTO ****" << std::endl                             //MENU
  19.                   << "*** 0 - end ***" << std::endl                         //MENU
  20.                   << "***************" << std::endl;                            //MENU
  21.  
  22.         wybor = getch();                                            //wybor opcji menu
  23.  
  24.         for (int i = 0; i <= 5; i++)
  25.         {
  26.             Los[i] = pLos -> Losuj();                                   //losowanie liczby
  27.             pCheck -> Dodaj(Los[i], i);                                 //dodawanie liczby do tablicy sprawdzającej
  28.             std::cout << i +1 << ": " <<Los[i] << std::endl;                        //wyświetlenie liczby
  29.  
  30.             if (i == 5)
  31.             {
  32.                 std::cout << "---" << std::endl;
  33.  
  34.                 bool jest = pCheck -> Check();                              //sprawdzenie liczb
  35.            
  36.                 if (jest)
  37.                 {
  38.                     i = -1;                                     //w przypadku powtórzenia liczby, restart pętli głównej
  39.                 }
  40.             }
  41.         }
  42.     }
  43.     while (wybor != '0');
  44. }
  45.  
  46. ///---klasy.h---\\\
  47.  
  48. #include<conio.h>
  49.  
  50.  
  51. class CLosuj
  52. {
  53.     private:
  54.         int m_nLos;
  55.     public:
  56.         CLosuj() { };                                               //konstruktor
  57.         ~CLosuj() { };                                              //destruktor
  58.  
  59.          int Losuj();                                               //metoda losująca
  60. };
  61.  
  62. class CSprawdz
  63. {
  64.     private:
  65.         int m_aLosy[6];
  66.     public:
  67.         CSprawdz() { };                                             //konstruktor
  68.         ~CSprawdz() { };                                            //destruktor
  69.  
  70.         void Dodaj(int liczba, int i);                                      //metoda dodawajaca liczby do tablicy sprawdzającej
  71.         bool Check();                                               //metoda sprawdzająca unikatowość liczb
  72. };
  73.  
  74. ///---funkcje.cpp---\\\
  75.  
  76. #include<iostream>
  77. #include<conio.h>
  78. #include<ctime>
  79. #include"klasy.h"
  80.  
  81.  
  82. int CLosuj::Losuj()
  83. {
  84.     return m_nLos = rand() % 100 + 1;                                       //wylosowanie liczby i zwrócenie jej wartości
  85.     m_nLos = NULL;
  86. }
  87.  
  88. void CSprawdz::Dodaj(int liczba, int i)
  89. {
  90.     m_aLosy[i] = liczba;                                                //dodanie liczby do tablicy sprawdzającej
  91. }
  92.  
  93. bool CSprawdz::Check()
  94. {
  95.     for (int i = 0; i <= 5; i++)
  96.     {
  97.         for (int j = 0; j <= 5; j++)
  98.         {
  99.             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
  100.             else
  101.             {
  102.                 if (m_aLosy[i] == m_aLosy[j])
  103.                 {
  104.                     return true;                                    //zwracanie 'true' jeżeli któraś z liczb sie powtórzyła
  105.                 }
  106.             }
  107.         }
  108.     }
  109.     return false;                                                   //zwracanie false, jeżeli żadna z liczb się nie powtórzyła
  110.    
  111.    
  112. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement