Facebook
From Wet Peafowl, 10 Months ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 1058
  1. #include <thread>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. int bufor;
  7. int haslo;
  8. bool sem = 0;
  9. bool czy_zgodne = 0;
  10. int tab[100];
  11.  
  12. void wpisanie_liczb()
  13. {
  14.         for (int i = 0; i < 100; i++)
  15.         {
  16.                 tab[i] = i;
  17.         }
  18. }
  19.  
  20. void Producent()
  21. {
  22.         for (int i = 0; i < 100; i++)
  23.         {
  24.  
  25.                 if (czy_zgodne == 1){ break; }
  26.                 if (sem == 1)
  27.                 {
  28.                         while (sem == 1)
  29.                         {
  30.  
  31.                         }
  32.                 }
  33.                 else
  34.                 {
  35.                         bufor = tab[i];
  36.                         cout << "{P} Producent proponuje haslo " << bufor << endl;
  37.                         sem = 1;
  38.                 }
  39.                
  40.                 _sleep(5);
  41.                
  42.         }
  43.        
  44.  
  45. }
  46.  
  47.  
  48. void Konsument()
  49. {
  50.         for (int i = 0; i < 100; i++)
  51.         {
  52.                 if (czy_zgodne == 1){ break; }
  53.                 if (sem == 0)
  54.                 {
  55.                         while (sem == 0)
  56.                         {
  57.  
  58.                         }
  59.                 }
  60.                 else
  61.                 {
  62.                         if (haslo == bufor)
  63.                         {
  64.                                 cout << "{K} Haslo zgodne!" << endl;
  65.                                 czy_zgodne = 1;
  66.                         }
  67.                         else
  68.                         {
  69.                                 cout << "{K} To nie jest haslo Konsumenta" << endl;
  70.                         }
  71.                         sem = 0;
  72.                 }
  73.                
  74.         }
  75.        
  76.         if (czy_zgodne == 0)
  77.         {
  78.                 cout << "Haslo niezgodne" << endl;
  79.         }
  80.  
  81.         _sleep(5);
  82. }
  83.  
  84.  
  85.  
  86.  
  87. int main()
  88. {
  89.         wpisanie_liczb();
  90.         cout << "Podaj haslo konsumenta(liczba od 1 do 100): ";
  91.         cin >> haslo;
  92.         cout << endl;
  93.  
  94.  
  95.         thread pro(Producent);
  96.         thread kon(Konsument);
  97.         pro.join();
  98.        
  99.         kon.join();
  100.  
  101.         getchar();
  102.         getchar();
  103. }