Already have an account? Get multiple benefits of using own account!
Login in your account..!
Remember me
Don't have an account? Create your account in less than a minutes,
Forgot password? how can I recover my password now!
Enter right registered email to receive password!
Aim: To implement a program to handle stack overflow, underflow and odd number exception using Exception Handling.
Code:
#include
#define MAX 3
class stack
{
public:
class full;
class empty;
class oddinput;
private:
int stk[MAX];
int top;
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!";
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
char f_origin[40];
int f_val;
full(char o[40], int v)
strcpy(f_origin,o);
f_val=v;
};
class empty
char e_origin[40];
int e_val;
empty(char o[40], int v)
strcpy(e_origin,o);
e_val=v;
class oddinput
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: "<
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
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
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
Output:
Exception: Odd Input class
Added 8
Added 14
Exception: Odd Input!
Input was: 5Press any key to continue
Exception: Full class
Exception: Stack Overflow!
Input was: 14Press any key to continue
Exception : Empty class
Element popped: 14
Element popped: 8
Exception: Stack Empty!
Input was: -1Press any key to continue
how is a beti a beti
How does free know the size of memory to be deleted.? int *i = (int *)malloc(12); followed by free(i); how did free function call know how much of memory to delete? A: It bas
Write a program to calculate e^x using the formula: e^x = 1 + x/1! + x^2/2! + x^3/3! + ...... Allow the user to enter the integer number x, then do the calculation in a loop (for
Define F u n c t i o n? T h e r e a r e t w o t y p e s o f f u n ct i o n b u i l t - i n f un ct i o n s a n d u
(a) Write a fragment of code that declares a variable colSp of type ColourSpot, and then moves it to the point (3, -4), and sets its colour to Green. (b) A function QU8 is speci
Write a program to find the area under the curve y = f(x) between x = a and x = b, integrate y = f(x) between the limits of a and b. The area under a curve between two points can b
A: Mostly can be overloaded. The only C operators which can't be are. and?: (and sizeof, that is technically an operator). C++ adds a few of its own operators, mostly which can be
Explain The Type Conversion in Expressions in c language? When variables and constants of different types are used in an expression they are all converted to same type. The com
what is c language
In this Lab you will code 8086 assembler equivalents (Virgo) for common C control flow instructions. This will give you an appreciation for how control flow is implemented in assem
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!
whatsapp: +91-977-207-8620
Phone: +91-977-207-8620
Email: [email protected]
All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd