C program to handle stack using exception handling, C/C++ Programming

Assignment Help:

Aim: To implement a program to handle stack overflow, underflow and odd number exception using Exception Handling.

Code:

#include

#include

#include

#define MAX 3

 

class stack

{

                  public:

                  class full;

                  class empty;

                  class oddinput;

                  private:

                  int stk[MAX];

                  int top;

                  public:

                  stack()

{

                  top=-1;

}

void push(int item)

{

if(item%2!=0)

{

char o[40]="Odd Input!";

int n=item;

throw oddinput(o,n);

}

if(top>=MAX-1)

{

char o[40]="Stack Overflow!";

int n=item;

throw full(o,n);

}

stk[top]=item;

top++;

}

int pop()

{

if(top<0)

{

char o[40]="Stack Empty!";

int n=top;

throw empty(o,n);

}

int i=stk[top];

top--;

return i;

}

class full

{

public:

char f_origin[40];

int f_val;

full(char o[40], int v)

{

strcpy(f_origin,o);

f_val=v;

}

};

class empty

{

public:

char e_origin[40];

int e_val;

empty(char o[40], int v)

{

strcpy(e_origin,o);

e_val=v;

}

};

class oddinput

{

public:

char o_origin[40];

int o_val;

oddinput(char o[40],int v)

{

strcpy(o_origin,o);

o_val=v;

                  }

};

};

 

void main()

{

stack s1;

int i;

try

{

s1.push(8);

cout<<"\nAdded 8";

s1.push(14);

cout<<"\nAdded 14";

s1.push(5);

cout<<"\nAdded 5";                                    //This will not print

i=s1.pop();

cout<<"\nElement popped: "<

i=s1.pop();

cout<<"\nElement popped: "<

i=s1.pop();

cout<<"\nElement popped: "<

i=s1.pop();

cout<<"\nElement popped: "<

i=s1.pop();

cout<<"\nElement popped: "<

}

catch(stack::oddinput oi)

{

cout<<"\nException: "<

}

catch(stack::full f)

{

cout<<"\nException: "<

}

catch(stack::empty e)

{

cout<<"\nException: "<

}

}                     

Output:

Exception: Odd Input class

Added 8

Added 14

Exception: Odd Input!

 Input was: 5Press any key to continue

 

Exception: Full class

Added 8

Added 8

Added 8

Exception: Stack Overflow!

Input was: 14Press any key to continue

 

Exception : Empty class

Added 8

Added 8

Added 14

Element popped: 14

Element popped: 8

Element popped: 8

Exception: Stack Empty!

Input was: -1Press any key to continue


Related Discussions:- C program to handle stack using exception handling

Explain about the constants in c language, Explain about the Constants in c...

Explain about the Constants in c language? The Constants in C refer to fixed values that don't change during the execution of a program. C has four fundamental types of constan

I need plugin for amibroker using c++, I need plugin for amibroker using c+...

I need plugin for amibroker using c++ Project Description: Need to prepare plugin for amibroker using c++. Should be system bound after installing. System should show based o

Left in the lurch, Hey vrcoder I have got similar way but the game builder ...

Hey vrcoder I have got similar way but the game builder has sent me the game unfinished and left. I saw it on a link on line but they have wiped the old message with the link in it

Explain the preprocessor directives, The Preprocessor Directives A prep...

The Preprocessor Directives A preprocessor directive which starts with a hash '#' ,is an instruction to the preprocessor, which acts on the source code before the compilation p

Lexicographic permutation, given integer ''n'' and permutation of numbers 1...

given integer ''n'' and permutation of numbers 1,2,..n-1, c program to print permutation that lexicograghically precedes given input permutation if permutation is least print input

Algorithms, write an algorithm for multiplication of two sparse matrices us...

write an algorithm for multiplication of two sparse matrices using linked lists

Enumeration types, Write a simple program in C++ to investigate the safety ...

Write a simple program in C++ to investigate the safety of its enumeration types. Include at least 10 different operations on enumeration types that are incorrect/unsafe things to

Selection sort, Selection Sort using this a nested for loop to iterate thro...

Selection Sort using this a nested for loop to iterate through and compare the array elements. If the value of an element with lower index is greater than the value of an element w

Class and object, how to write c++ code for financial system using class an...

how to write c++ code for financial system using class and object

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd