Advertisement
hurmawe

Стек с защитой от ошибок

Dec 18th, 2020
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.60 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace  std;
  5.  
  6. struct stack
  7. {
  8.     int64_t  array[100];
  9.     int cursor=0;
  10.     ////////////
  11.     void push(int64_t n)
  12.     {
  13.         array[cursor++] =n;
  14.     }
  15.     ////////////
  16.     int64_t pop()
  17.     {
  18.         return array[--cursor];
  19.     }
  20.     ////////
  21.     int64_t back()
  22.     {
  23.         return array[cursor-1];
  24.     }
  25.     //////////
  26.     void clear()
  27.     {
  28.  
  29.         cursor = 0;
  30.     }
  31.     ///////
  32.     uint64_t size()
  33.     {
  34.         return cursor;
  35.     }
  36. };
  37. int main() {
  38.     stack primer;
  39.     string stroka;
  40.     while (cin >> stroka)
  41.         if (stroka == "push")
  42.         {
  43.             int64_t vr;
  44.             cin >> vr;
  45.             primer.push(vr);
  46.             cout << "ok" << endl;
  47.         }
  48.         else if(stroka == "pop")
  49.         {
  50.             if(primer.size() == 0)
  51.             {
  52.                 cout << "error" << endl;
  53.             }
  54.             else
  55.             {
  56.                 cout << primer.pop() << endl;
  57.             }
  58.         }
  59.         else if(stroka == "back")
  60.         {
  61.             if(primer.size() == 0)
  62.             {
  63.                 cout << "error" << endl;
  64.             }
  65.             else
  66.             {
  67.                 cout << primer.back() << endl;
  68.             }
  69.         }
  70.         else if(stroka == "size")
  71.         {
  72.             cout << primer.size() << endl;
  73.         }
  74.         else if(stroka == "clear")
  75.         {
  76.             primer.clear();
  77.             cout << "ok" << endl;
  78.         }
  79.         else if(stroka == "exit")
  80.         {
  81.             cout << "bye";
  82.             break;
  83.         }
  84.     return 0;
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement