SHARE
TWEET

Untitled

a guest Dec 13th, 2016 77 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /**************************************
  2.  *             COPYRIGHT              *
  3.  *                                    *
  4.  *  Author   : Sony Darmawan          *
  5.  *  NIM      : 41815110084            *
  6.  *  Kampus   : Universitas Mercubuana *
  7.  *  Jurusan  : Sistem Informasi (S1)  *
  8.  *  Fakultas : Ilmu Komputer          *
  9.  *                                    *
  10.  **************************************/
  11.  
  12. #include <iostream>
  13. #include <conio.h>
  14. #include <string.h>
  15.  
  16. using namespace std;
  17.  
  18. int z[] = {}; // array buat nyimpen data yg diinput,
  19.  
  20. class StackOverflow {
  21.     public:
  22.         int stackVal, rangeVal, top;
  23.         void showValue( void ); // nampilin array yg udah diinput
  24.         void setStackValue( int val ); // nyimpen nilai
  25.         void deleteStackValue( void ); // hapus nilai yg terakhir diinput
  26.         void setRangeStack( int r ); // untuk limit/batas array yg akan diinput.
  27.         void truncateValue( void ); // hapus semua nilai yg ada diarray.
  28.         int getRangeStack( void ); // mengembalikan nilai dari setStackValue
  29.         int getStackValue( void ); // mengembalikan nilai dari setRangeStack
  30.         void setRangeToNull( void ); // batas menjadi null atau 0
  31. };
  32.  
  33. void StackOverflow::setRangeStack( int r ) {
  34.     rangeVal = r;
  35. }
  36.  
  37. int StackOverflow::getRangeStack(void) {
  38.     return rangeVal;
  39. }
  40.  
  41. void StackOverflow::setStackValue( int val ) {
  42.     stackVal = val;
  43. }
  44.  
  45. int StackOverflow::getStackValue( void ) {
  46.     if( top == getRangeStack() - 1 ) {
  47.         cout << "Warning : Stack Overflow!\n";
  48.     }
  49.     else {
  50.         top++;
  51.         z[top] = stackVal;
  52.     }
  53. }
  54. void StackOverflow::deleteStackValue( void ) {
  55.     if( top == -1 ) {
  56.         cout << "Error : No value on this stack...\n";
  57.     }
  58.     else {
  59.         cout << "Array [" << top << "]: ";
  60.         cout << z[top] << " has been removed";
  61.         top--;
  62.     }
  63. }
  64. void StackOverflow::truncateValue( void ) {
  65.     if( top == -1 ) {
  66.         cout << "Error : No value on this stack...\n";
  67.     }
  68.     else {
  69.         for(int i = 0; i <= top; i++) {
  70.             cout << "Deleteing array [" << i << "]";
  71.             cout << ": ";
  72.             cout << z[i] << "\n";
  73.         }
  74.         top = -1;
  75.         cout << "All values has been removed.....\n";
  76.     }
  77. }
  78. void StackOverflow::showValue( void ) {
  79.     if( top == -1 ) {
  80.         cout << "Error : No value on this stack...";
  81.     }
  82.     else {
  83.         for(int i = 0; i <= top; i++) {
  84.             cout << "Array of [" << i << "]";
  85.             cout << ": ";
  86.             cout << z[i] << " \n";
  87.         }
  88.     }
  89.     cout << "\n";
  90. }
  91. void StackOverflow::setRangeToNull(void) {
  92.     rangeVal = 0;
  93.     cout << "\n";
  94. }
  95.  
  96. /*void StackOverflow::countStackLength( void ) {
  97.     cout << "Length of array : " << z[0];
  98. }*/
  99.  
  100. int main() {
  101.     StackOverflow stackoverflow;
  102.     int options, val, ran;
  103.     string username;
  104.     string password;
  105.     stackoverflow.rangeVal = 0;
  106.     stackoverflow.top = -1;
  107.    
  108.     logout:
  109.     cout << "\t--||-----------------------------------------------||--\n";
  110.     cout << "\t--||             STACK OVERFLOW v1.0             --||--\n";
  111.     cout << "\t--||            Authors: Sony Darmawan           --||--\n";
  112.     cout << "\t--||             Date : 28 March 2016            --||--\n";
  113.     cout << "\t--||-----------------------------------------------||--\n";
  114.    
  115.     login:
  116.     cout << "\nLogin username: "; cin >> username;
  117.     cout << "Password: "; cin >> password;
  118.    
  119.     if( username == "admin01" && password == "123321" ) {
  120.          system("cls");
  121.          goto menu_opt;
  122.     }
  123.     else {
  124.          cout << "\nLogin failed\n";
  125.          goto login;
  126.     }
  127.    
  128.     menu_opt:
  129.     while( options != 8 ) {
  130.         cout << "----------------------------------------------------\n\n";
  131.         cout << "Range stack: " << stackoverflow.getRangeStack() << endl << endl;
  132.         cout << "1. Display Value(s)\n";
  133.         cout << "2. Set Range\n";
  134.         cout << "3. Add Value(s)\n";
  135.         cout << "4. Delete Value(s)\n";
  136.         cout << "5. Truncate Value(s)\n";
  137.         cout << "6. Logout\n";
  138.         cout << "7. Clear Range\n";
  139.         cout << "8. Exit\n\n";
  140.        
  141.         cout << "Please enter an options: "; cin >> options;
  142.         system("cls");
  143.         if( options == 1 ) {
  144.             cout << "1. Display Value(s): \n\n";
  145.             stackoverflow.showValue();
  146.         }
  147.         if( options == 2 ) {
  148.             cout << "2. Set Range of Stack: \n\n";
  149.             ran_null:
  150.             cout << "Enter range: "; cin >> ran;
  151.             if( ran == 0 ) {
  152.                 cout << "Range cannot be null\n\n";
  153.                 goto ran_null;
  154.             }
  155.             else if( ran < stackoverflow.getRangeStack() ) {
  156.                 cout << "Range should be higher than before.\n\n";
  157.                 goto ran_null;
  158.             }
  159.             else {
  160.                 stackoverflow.setRangeStack(ran);
  161.                 stackoverflow.getRangeStack();
  162.             }
  163.         }
  164.         if( options == 3 ) {
  165.             cout << "3. Add Value(s): \n\n";
  166.             if( stackoverflow.getRangeStack() == 0 ) {
  167.                 cout << "Warning: Please set range to add value!\n\n";
  168.             }
  169.             else {
  170.                 if( stackoverflow.top == stackoverflow.getRangeStack() - 1 ) {
  171.                     cout << "Warning: Stack Overflow!\n\n";
  172.                 }
  173.                 else {
  174.                     cout << "Enter a value: "; cin >> val;
  175.                     stackoverflow.setStackValue(val);
  176.                     stackoverflow.getStackValue();
  177.                     cout << "\n";
  178.                 }
  179.             }
  180.         }
  181.         if( options == 4 ) {
  182.             cout << "4. Delete Stack: \n\n";
  183.             stackoverflow.deleteStackValue();
  184.             cout << "\n";
  185.         }
  186.         if( options == 5 ) {
  187.             cout << "5. Truncate Value(s):\n\n";
  188.             stackoverflow.truncateValue();
  189.         }
  190.         if( options == 6 ) { goto logout; }
  191.         if( options == 7 ) {
  192.             cout << "7. Clear Range\n\n";
  193.             if( stackoverflow.top != -1 ) {
  194.                 cout << "Stack is not empty.\nPlease delete all values to set range to null.\n";
  195.             }
  196.             else {
  197.                  stackoverflow.setRangeToNull();
  198.             }
  199.         }
  200.         if( options == 8 ) {
  201.             cout << "\n\n\n\n\n";
  202.             cout << "\t\t\t  --- EXITING PROGRAM ---\n\n";
  203.             cout << "\t\t\tPress any key to continue...\n\n";
  204.             cout << "\t\t\t  --- EXITING PROGRAM ---\n\n";
  205.         }
  206.     }
  207.     getch();
  208. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top