neogz

AUTOBUS rezervacija

Feb 13th, 2014
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.79 KB | None | 0 0
  1. #include <iostream>
  2. #include <climits>
  3. #include <iomanip> 
  4. #include <cmath>
  5. using namespace std;
  6.  
  7. const int red = 5, kolona = 4;
  8.  
  9. void meni();
  10. void rezervacija(int[][kolona]);
  11. void provjera(int[][kolona]);
  12. void ispis(int[][kolona]);
  13.  
  14. int main()
  15. {  
  16.     int mat[red][kolona] = {}, izbor;
  17.    
  18.    
  19.     do
  20.     {  
  21.         meni();
  22.         do
  23.         {
  24.             cin >> izbor;
  25.         } while (izbor < 0 && izbor >5);
  26.  
  27.         if (izbor == 1) rezervacija(mat);
  28.         else if (izbor == 2) provjera(mat);
  29.         else if (izbor == 3) ispis(mat);
  30.  
  31.     } while (izbor !=4);
  32.    
  33.  
  34.     system("pause >null");
  35.     return 0;
  36. }
  37.  
  38. void meni()
  39. {
  40.     cout << "\n\n\tMENI \n==================================\n";
  41.     cout << "1 - REZERVACIJA SJEDISTA " << endl;
  42.     cout << "2 - PROVJERA MJESTA" << endl;
  43.     cout << "3 - ISPIS SLOBODNIH I ZAUZETIH MJESTA" << endl;
  44.     cout << "4 - IZLAZ  " << endl << endl;
  45. }
  46. void rezervacija(int m[][kolona])
  47. {  
  48.     int izbor;
  49.  
  50.         cout << "UNESITE GDJE ZELITE SJEDITI: "<<endl;
  51.         cout << "DO PROZORA UNESITE   1 " << endl;
  52.         cout << "DO PROLAZA UNESITE   2 " << endl;
  53.         cin >> izbor;
  54.              
  55.    
  56.  
  57.  
  58.     bool cek = true;  // uslov za rezervaciju van 1 reda tj i redu desno
  59.  
  60.     if (izbor == 1)  // rezervacija do prozora
  61.     {
  62.        
  63.         for (int i = 0; i < red; i++)
  64.         {
  65.             if (m[i][0] == 0 && cek)   // ako je slobodno sjediste i ako nije vec rezervisano
  66.             {
  67.                 m[i][0] = 1;
  68.                 cek = false;
  69.             }
  70.         }
  71.  
  72.         if (cek)  // ako vec nije rezervisano sad rezervisi
  73.         {
  74.             for (int i = 0; i < red; i++)
  75.             {
  76.                 if (m[i][3] == 0 && cek)
  77.                 {
  78.                     m[i][3] = 1;
  79.                     cek = false;
  80.                 }
  81.             }
  82.         }
  83.     } // kraj rezervacije do prozora
  84.  
  85.  
  86.  
  87.  
  88.     if (izbor == 2)  // rezervacija do prozora
  89.     {
  90.        
  91.         for (int i = 0; i < red; i++)
  92.         {
  93.             if (m[i][3] == 0 && cek)   // ako je slobodno sjediste i ako nije vec rezervisano
  94.             {
  95.                 m[i][3] = 1;
  96.                 cek = false;
  97.             }
  98.         }
  99.  
  100.         if (cek)  // ako vec nije rezervisano sad rezervisi
  101.         {
  102.             for (int i = 0; i < red; i++)
  103.             {
  104.                 if (m[i][3] == 0 && cek)
  105.                 {
  106.                     m[i][3] = 1;
  107.                     cek = false;
  108.                 }
  109.             }
  110.         }
  111.     } // kraj rezervacije do reda
  112.  
  113.     if (cek) cout << "NEMA SLOBODNIH MJESTA" << endl;
  114.     else cout << "USPJESNO STE REZERVISALI MJESTO " << endl;
  115. }
  116. void provjera(int m[][kolona])
  117. {  
  118.     int red, kolona;
  119.     cout << "PROVJERA SLOBODNIH MJESTA: " << endl << endl;
  120.    
  121.     do
  122.     {
  123.         cout << "IZABERI RED [1-5]";
  124.         cin >> red;
  125.         red -= 1;
  126.     } while (red < 0 || red >4);
  127.     do
  128.     {
  129.         cout << "IZABERI KOLONU [1-4]";
  130.         cin >> kolona;
  131.         kolona -= 1;
  132.     } while (kolona < 0 || kolona >4);
  133.  
  134.     if (m[red][kolona] == 0) cout << "MJESTO JE SLOBODNO" << endl;
  135.     else cout << "MJESTO JE ZAUZETO " << endl;
  136. }
  137. void ispis(int m[][kolona])
  138. {  
  139.     cout << "\n\nSLOBODNO = 0 ||| ZAUZETO = 1" << endl;
  140.     for (int i = 0; i < red; i++)
  141.     {
  142.         for (int j = 0; j < kolona; j++)
  143.         {
  144.             cout << setw(3) << m[i][j];
  145.         }
  146.         cout << endl;
  147.     }
  148. }
Advertisement
Add Comment
Please, Sign In to add comment