Advertisement
Guest User

ta na disney

a guest
Oct 14th, 2019
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.90 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. class Queue {
  4. private:
  5.     int *m_fila;
  6.     int m_begin;
  7.     int m_rear;
  8. public:
  9.     Queue () {
  10.         m_fila = new int[20];
  11.         m_begin = 0;
  12.         m_rear = 0;
  13.     }
  14.  
  15.     bool Empty () {
  16.         if (this->m_rear == 0)
  17.             return true;
  18.         else
  19.             return false;
  20.     }
  21.  
  22.     bool Full () {
  23.         if (this->m_rear < 20)
  24.             return false;
  25.         else
  26.             return true;
  27.     }
  28.  
  29.     void Qq (int nGroup) {
  30.         if (!Full()) {
  31.             this->m_fila[this->m_rear] = nGroup;
  32.             this->m_rear++;
  33.         } else {
  34.             std::cout << "Fila cheia!!\n";
  35.         }
  36.     }
  37.  
  38.     void Deque () {
  39.         if (!Empty()) {
  40.             this->m_begin++;
  41.             this->m_rear--;
  42.         } else
  43.             std::cout << "Fila vazia!!\n";
  44.     }
  45.  
  46.     void Run (int cap=20) {
  47.         if (Empty())
  48.             std::cout << "Fila vazia!!\n";
  49.         else
  50.             while(cap > 0 && !Empty()) {
  51.                 std::cout << this->m_fila[this->m_begin] << " Pessoas entraram no brinquedo\n";
  52.                 cap-=this->m_fila[this->m_begin];
  53.                 std::cout << cap << " Capacidade para entrada\n";
  54.                 Deque();
  55.             }
  56.     }
  57.  
  58.     ~Queue() {delete[] m_fila;}
  59. };
  60.  
  61. int main () {
  62.     Queue *fila = new Queue();
  63.     int op, group;
  64.     while(std::cout << "1. Entrada na fila\n2. Desistencia\n3. Nova andada\nOpcao: " && std::cin >> op) {
  65.         switch(op) {
  66.         case 1:
  67.             std::cout << "Quantia de pessoas a entrar na fila: ";
  68.             std::cin >> group;
  69.             if (group > 4)
  70.                 std::cout << "Grupo maximo de 4 pessoas!!\n";
  71.             else
  72.                 fila->Qq(group);
  73.             break;
  74.         case 2:
  75.             fila->Deque();
  76.             break;
  77.         case 3:
  78.             fila->Run();
  79.         }
  80.     }
  81.     delete fila;
  82.     return 0;
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement