Você está na página 1de 7

PRACTICAL NO.

3 Write a program in C++ to implement Stack Data Structure, use Exception handling to check Overflow and Underflow conditions. Sol:#include<iostream.h> #include<conio.h> #define max 6 class excpovrflw {}; class excpudrflw {}; class stack { int arr[max]; int top; public: stack() { top=-1; } void push(int x); int pop(); void display(); }; void stack::push(int x) { if(top==max-1)

throw excpovrflw(); arr[++top]=x; } int stack::pop() { if(top==-1) throw excpudrflw(); return arr[top--]; } void stack::display() { if(top==-1) throw excpudrflw(); cout<<"stck is:\n"; for(int i=top;i>0;i--) { cout<<endl<<arr[i]; } } int main() { int elmnt,choice; stack s; do { cout<<endl<<"1:push";

cout<<endl<<"2:pop"; cout<<endl<<"3:dsply"; cout<<endl<<"4:ext"; cout<<endl<<"entr choice"; cin>>choice; switch(choice) { case 1: cout<<"enter element 2 push"; cin>>elmnt; try { s.push(elmnt); cout<<endl<<elmnt<<"pushed"; } catch(excpovrflw) { cout<<"cant push"<<elmnt<<"stckfll"; } break; case 2: try { elmnt=s.pop(); cout<<endl<<elmnt<<"poped" }

catch(excpudrflw) { cout<<"stack empty"; } break; case 3: try { s.display(); } catch(excpudrflw) { cout<<"stack empty"; } break; case 4:cout<<"exit"; break; default: cout<<"invalid"; } } while(choice!=(4)); return (0); }

OUTPUT OF PROGRAM

Você também pode gostar