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
.program for superposition of sin waves
#Byteland county is very famous for luminous jewels. Luminous jewels are used in making beautiful necklaces. A necklace consists of various luminous jewels of particular colour. Ne
Explain multi dimensional array with example.
Step 1 Define the program headers and the variables #include #include #include #include void main() { char prompt; float a,b,c,d,e; floa
Introduction. In this assignment you are required to revisit the Assignment 1 topic. You will develop a new program which is more sophisticated, in particular, adding more functio
Depreciation to a salvage value of 0. For tax purposes an item may be depreciated over a period of several years, n. With the straight line method of depreciati
what is poiter
Rule: To determine the canonical form we should OR the min terms. A min term is defined as a Boolean equation of the input if the output is logic '1'. If the input is logic '1'
I need the code for this plss....
(i) Vilsmeir reaction
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