Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**************************************
- * COPYRIGHT *
- * *
- * Author : Sony Darmawan *
- * NIM : 41815110084 *
- * Kampus : Universitas Mercubuana *
- * Jurusan : Sistem Informasi (S1) *
- * Fakultas : Ilmu Komputer *
- * *
- **************************************/
- #include <iostream>
- #include <conio.h>
- #include <string.h>
- using namespace std;
- int z[] = {}; // array buat nyimpen data yg diinput,
- class StackOverflow {
- public:
- int stackVal, rangeVal, top;
- void showValue( void ); // nampilin array yg udah diinput
- void setStackValue( int val ); // nyimpen nilai
- void deleteStackValue( void ); // hapus nilai yg terakhir diinput
- void setRangeStack( int r ); // untuk limit/batas array yg akan diinput.
- void truncateValue( void ); // hapus semua nilai yg ada diarray.
- int getRangeStack( void ); // mengembalikan nilai dari setStackValue
- int getStackValue( void ); // mengembalikan nilai dari setRangeStack
- void setRangeToNull( void ); // batas menjadi null atau 0
- };
- void StackOverflow::setRangeStack( int r ) {
- rangeVal = r;
- }
- int StackOverflow::getRangeStack(void) {
- return rangeVal;
- }
- void StackOverflow::setStackValue( int val ) {
- stackVal = val;
- }
- int StackOverflow::getStackValue( void ) {
- if( top == getRangeStack() - 1 ) {
- cout << "Warning : Stack Overflow!\n";
- }
- else {
- top++;
- z[top] = stackVal;
- }
- }
- void StackOverflow::deleteStackValue( void ) {
- if( top == -1 ) {
- cout << "Error : No value on this stack...\n";
- }
- else {
- cout << "Array [" << top << "]: ";
- cout << z[top] << " has been removed";
- top--;
- }
- }
- void StackOverflow::truncateValue( void ) {
- if( top == -1 ) {
- cout << "Error : No value on this stack...\n";
- }
- else {
- for(int i = 0; i <= top; i++) {
- cout << "Deleteing array [" << i << "]";
- cout << ": ";
- cout << z[i] << "\n";
- }
- top = -1;
- cout << "All values has been removed.....\n";
- }
- }
- void StackOverflow::showValue( void ) {
- if( top == -1 ) {
- cout << "Error : No value on this stack...";
- }
- else {
- for(int i = 0; i <= top; i++) {
- cout << "Array of [" << i << "]";
- cout << ": ";
- cout << z[i] << " \n";
- }
- }
- cout << "\n";
- }
- void StackOverflow::setRangeToNull(void) {
- rangeVal = 0;
- cout << "\n";
- }
- /*void StackOverflow::countStackLength( void ) {
- cout << "Length of array : " << z[0];
- }*/
- int main() {
- StackOverflow stackoverflow;
- int options, val, ran;
- string username;
- string password;
- stackoverflow.rangeVal = 0;
- stackoverflow.top = -1;
- logout:
- cout << "\t--||-----------------------------------------------||--\n";
- cout << "\t--|| STACK OVERFLOW v1.0 --||--\n";
- cout << "\t--|| Authors: Sony Darmawan --||--\n";
- cout << "\t--|| Date : 28 March 2016 --||--\n";
- cout << "\t--||-----------------------------------------------||--\n";
- login:
- cout << "\nLogin username: "; cin >> username;
- cout << "Password: "; cin >> password;
- if( username == "admin01" && password == "123321" ) {
- system("cls");
- goto menu_opt;
- }
- else {
- cout << "\nLogin failed\n";
- goto login;
- }
- menu_opt:
- while( options != 8 ) {
- cout << "----------------------------------------------------\n\n";
- cout << "Range stack: " << stackoverflow.getRangeStack() << endl << endl;
- cout << "1. Display Value(s)\n";
- cout << "2. Set Range\n";
- cout << "3. Add Value(s)\n";
- cout << "4. Delete Value(s)\n";
- cout << "5. Truncate Value(s)\n";
- cout << "6. Logout\n";
- cout << "7. Clear Range\n";
- cout << "8. Exit\n\n";
- cout << "Please enter an options: "; cin >> options;
- system("cls");
- if( options == 1 ) {
- cout << "1. Display Value(s): \n\n";
- stackoverflow.showValue();
- }
- if( options == 2 ) {
- cout << "2. Set Range of Stack: \n\n";
- ran_null:
- cout << "Enter range: "; cin >> ran;
- if( ran == 0 ) {
- cout << "Range cannot be null\n\n";
- goto ran_null;
- }
- else if( ran < stackoverflow.getRangeStack() ) {
- cout << "Range should be higher than before.\n\n";
- goto ran_null;
- }
- else {
- stackoverflow.setRangeStack(ran);
- stackoverflow.getRangeStack();
- }
- }
- if( options == 3 ) {
- cout << "3. Add Value(s): \n\n";
- if( stackoverflow.getRangeStack() == 0 ) {
- cout << "Warning: Please set range to add value!\n\n";
- }
- else {
- if( stackoverflow.top == stackoverflow.getRangeStack() - 1 ) {
- cout << "Warning: Stack Overflow!\n\n";
- }
- else {
- cout << "Enter a value: "; cin >> val;
- stackoverflow.setStackValue(val);
- stackoverflow.getStackValue();
- cout << "\n";
- }
- }
- }
- if( options == 4 ) {
- cout << "4. Delete Stack: \n\n";
- stackoverflow.deleteStackValue();
- cout << "\n";
- }
- if( options == 5 ) {
- cout << "5. Truncate Value(s):\n\n";
- stackoverflow.truncateValue();
- }
- if( options == 6 ) { goto logout; }
- if( options == 7 ) {
- cout << "7. Clear Range\n\n";
- if( stackoverflow.top != -1 ) {
- cout << "Stack is not empty.\nPlease delete all values to set range to null.\n";
- }
- else {
- stackoverflow.setRangeToNull();
- }
- }
- if( options == 8 ) {
- cout << "\n\n\n\n\n";
- cout << "\t\t\t --- EXITING PROGRAM ---\n\n";
- cout << "\t\t\tPress any key to continue...\n\n";
- cout << "\t\t\t --- EXITING PROGRAM ---\n\n";
- }
- }
- getch();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement