Advertisement
Guest User

Untitled

a guest
Dec 13th, 2016
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.41 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement