SlideShare a Scribd company logo
1 of 22
MINI PROJECT
             CSE205
TOPIC:Graphical reperesntation of stack



Submitted by:
SANJAY KUMAR CHAKRAVARTI
ROLL:A28
SEC:K2R13
                      Submitted to:
                  Miss.Deepika sukhija
                      Dept. cse
                      Lpu,phagwara
Acknowledgement


Apart from the efforts of me, the success of this project depends largely on the
encouragement and guidelines of many others. I take this opportunity to express
my gratitude to the people who have been instrumental in the successful
completion of this project.

I would like to show my greatest appreciation to Miss. Deepika sukhija I can’t say
thank you enough for his tremendous support and help. I feel motivated and
encouraged every time I attend his meeting. Without his encouragement and
guidance this project would not have materialized.

The guidance and support received from all the team members including Mr.
sanjeev kumar and Mr. Abhay kumar who contributed and are contributing to this
project, was vital for the success of the project. I am grateful for their constant
support and help.
CONTENT


TOPIC                                                   PAGE NO.
 .
1 ABSTRACT-------------------------------------------------- 04

2. INTRODUCTION------------------------------------------- 05
3.SOURCE CODE---------------------------------------------- 06-18
4.OUTPUTS------------------------------------------------------ 19-21
4.REFRENCES-------------------------------------------------- 22
ABSTRACT

This project was very important for me. In this project I have
show a graphical view of stacks for better understanding. It will
gives you many features as listed below:
  1. Graphical view
  2. Simple programming language
  3. Source code contains comments line where needed
  4. A best approach with graphics programming
INTRODUCTION


The Stack is a Memory Area where you can store data there and can get
back them again. In computer science, a stack is a last in, first out
(LIFO) abstract data type and linear data structure . A stack can have
any abstract data type as an element , but is characterized by two
fundamental operations, called PUSH and POP. The push operation adds
a new item to the top of the stack, or initializes the stack if it is empty. If
the stack is full and does not contain enough space to accept the given
item, the stack is then considered to be in an overflow state. The pop
operation removes an item from the top of the stack. A pop either
reveals previously concealed items, or results in an empty stack, but if
the stack is empty then it goes into underflow state (It means no items
are present in stack to be removed). A stack is a restricted data
structure , because only a small number of operations are performed on
it. The nature of the pop and push operations also means that stack
elements have a natural order. Elements are removed from the stack in
the reverse order to the order of their addition: therefore, the lower
elements are those that have been on the stack the longest.
Source code


#include<iostream.h>     //for cin, cout

#include<conio.h>      //for getche()

#include<ctype.h>      //for tolower() function

#include<stdlib.h>     //for itoa()

#include<GRAPHICS.H>          //to load graphics driver

#include<dos.h>    //for delay() function
/*_________________________________________________________________
________*//*_______________________________________________________
__________________*///These Functions prototypes are, for stack function.

int col=60 , row = 417 ,n ,x=60 , y=417 ,size=10
,arr[10]={12,56,23,46,32,89,11,99,12,66} , count = 0, top = 0;   //Global
Variables

char string[45];

void push( );

void pop( );

void stack();
void loadgraph();



void main()

{

clrscr();

char ch;

struct fillsettingstype fillinfo;



loadgraph();

setbkcolor(0);

setcolor(2);

do

{

rectangle(2,2,620,410);

rectangle(4,4,618,408);

line(0,30,620,30);

getfillsettings(&fillinfo);

line(0,32,620,32);

line(100,32,100,410);

moveto(180,15);

outtext("SANJAY KUMAR CHAKRAVARTI");

// circle(300,120,110);
setbkcolor(12);

gotoxy(37,5);

cout<<"Menu";

gotoxy(30,6);

cout<<"Stack        [s]";

gotoxy(30,8);

cout<<"Exit        [x]";

gotoxy(30,10);

cout<<"Enter Option [ ]";

ch=getche();

ch = tolower(ch);

gotoxy(30,15);

if(ch=='s')

stack();



}while(ch!='x');

cleardevice();

closegraph();

}

void loadgraph()

{

    clrscr();

    int driver = DETECT, mode, errorcode;
initgraph(&driver, &mode, "c:tcbgi");

    errorcode = graphresult();

    if (errorcode != grOk)

     {

     cout<<"Graphics error: n"<<(grapherrormsg(errorcode));

     cout<<"Press any key to halt:";

     getch();

     exit(1);

     }

}

void stack()

{

    cleardevice();

     moveto(400,60);

    outtext("STACK'S OPERATIONS");

    moveto(400,80);

    outtext("PUSH            [p]");

    moveto(400,100);

    outtext("POP         [o]");

    moveto(400,120);

    outtext("EXIT        [x]");

    moveto(300,125);

    outtext("Top");
itoa(top,string,10);

line(150,0,150,415);

outtextxy(308,450,string);

setbkcolor(3);

setcolor(14);

outtextxy(55,26,"NOW STACK:");

line(30,40,30,440);

int r=40;

for(int i = 1 ;i<12 ;i++)

{

    line(30,r,110,r);

    r+=40;

}

line(110,40,110,440);

r = 55;

for( i = 10 ;i>=1 ;i--)

{

    moveto(10,r);

    itoa(i,string,10);

    outtext(string) ;

    r+=40;

}

line(165,440,210,440);
line(165,440,165,460);

 line(210,440,210,460);

 line(165,460,210,460);

 setfillstyle(0, getmaxcolor());

char ch[2];

 do

  {

   moveto(400,140);

   outtext("ENTER OPTION ");

   ch[0]=getche();

   ch[0] = tolower(ch[0]);

   if(ch[0]=='p')

  { outtext("p");

      delay(500);

      bar(getx()-30,gety(),getx()+2,gety()+20);

if(size<1)

        {

        for(int i = 0 ;i<4 ; i++){

            moveto(420,170);

            outtext("Stack Overflow ");

            delay(1000);

            setfillstyle(0, getmaxcolor());

            bar(420 ,165 ,630 ,180);
delay(500);}

       }

else if( size>1)



       {

        size--;

        top++;

        push();

        bar(290,440,350,479);

        itoa(top,string,10);

        outtextxy(308,447,string);

        }}//end of Nested if

 else if(ch[0]=='o')




 {



     outtext("o");

     delay(500);

     bar(getx()-30,gety(),getx()+10,gety()+20);

if(size==10)

       {

        for(int i = 0 ;i<4 ; i++){
moveto(410,170);

            outtext("Stack, Underflow ");

            delay(1000);

            setfillstyle(0, getmaxcolor());

            bar(330 ,165 ,630 ,180);

            delay(500); }

            }

     else

            {

            top--;

            pop();

            bar(290,440,350,479);

            itoa(top,string,10);

            outtextxy(308,447,string);

            }

            }

}

while(ch[0]!='x');

}



void push()

{

    int a=178 , b=425       ;
moveto(178,447);

 itoa(arr[count],string,10);

 outtext(string);

 delay(10);

 bar(170,446,208,455);

 itoa(arr[count+1],string,10);

 moveto(178,447);

 outtext(string);

 moveto(a,b);

while(gety()!=y)

  {

   setfillstyle(0, getmaxcolor());

   circle(a+6,b+3,12);

   itoa(arr[count],string,10);

   outtext(string);

   delay(10);

   setfillstyle(0, getmaxcolor());

   bar(170 ,gety()-20 ,200 ,gety()+14);

   moveto(a,b);

   b--;

  }

 setfillstyle(0, getmaxcolor());

 circle(a+6,b+3,9);
outtext(string);

 moveto(125,b);

for(int j =0 ;j<6 ; j++)

   {

  outtext("<<--");

  delay(100);

  setfillstyle(0, getmaxcolor());

  bar(getx()-3 ,gety() ,getx() ,gety()+8);

  delay(100);

   }

delay(100);

 setfillstyle(0, getmaxcolor());

 bar(getx()-48 ,gety() ,getx() ,gety()+8);

delay(100);     delay(200);

while(getx()!=x+60)

   {

   setfillstyle(0, getmaxcolor());

   circle(a+6,b+3,9);

   itoa(arr[count],string,10);

   outtext(string);

   delay(10);

   setfillstyle(0, getmaxcolor());

   bar(getx()-20 ,gety()-10 ,getx()+70 ,gety()+20);
moveto(a,b);

         a--;

     }

    delay(100);

    moveto(60,gety());

    outtext(string);

    count++;

    y = y-40;

}

void pop()

{

    int a=120, b ;

    y = y + 40 ;

    b=y         ;

    moveto(120,y);

for(int j=0 ;j<6 ; j++)

     {

     outtext("®");

     delay(100);

     setfillstyle(0, getmaxcolor());

     bar(getx()-3 ,gety() ,getx() ,gety()+8);

     delay(100);

     }
delay(100);

setfillstyle(0, getmaxcolor());

bar(getx()-48 ,gety() ,getx() ,gety()+8);

delay(200);

moveto(60,gety());

setfillstyle(0, getmaxcolor());

bar(getx()-10 ,gety()-3 ,getx()+20 ,gety()+8);

delay(500);

while(getx()!=178)

 {

 setfillstyle(0, getmaxcolor());

 circle(a+6,b+3,12);

 moveto(a,gety());

 itoa(arr[count-1],string,10);

 outtext(string);

 delay(10);

 setfillstyle(0, getmaxcolor());

 bar(getx()-25 ,gety()-10 ,getx()+30 ,gety()+20);

 a++;

 }

delay(500);

while(gety()!=430)

 {
setfillstyle(0, getmaxcolor());

    circle(a+21,b+3,7);

    moveto(178,b);

    itoa(arr[count-1],string,10);

    outtext(string);

    delay(10);

    setfillstyle(0, getmaxcolor());

    bar(getx()-30 ,gety()-10 ,getx()+20 ,gety()+9);

    b++;

    }

    delay(10);

    moveto(178,447);

    bar(170,446,208,455);

    count--;

    moveto(178,447);

    itoa(arr[count],string,10);

    outtext(string);

    size++;

}
OUTPUTS

1.Menu list:




2.Operations in stack:
3.Push Operation:




4.Pop Operations:
REFRENCES

1. http://en.wikipedia.org/wiki/Stack_(abstract_data_type)

2. www.cprogrramming.com/stack_graphics

More Related Content

What's hot

computer notes - Evaluating postfix expressions
computer notes - Evaluating postfix expressionscomputer notes - Evaluating postfix expressions
computer notes - Evaluating postfix expressions
ecomputernotes
 
Oops practical file
Oops practical fileOops practical file
Oops practical file
Ankit Dixit
 

What's hot (20)

Project on stack Data structure
Project on stack Data structureProject on stack Data structure
Project on stack Data structure
 
Fruit Product Management System
Fruit Product Management SystemFruit Product Management System
Fruit Product Management System
 
Stack using Linked List
Stack using Linked ListStack using Linked List
Stack using Linked List
 
c++ library management
c++ library managementc++ library management
c++ library management
 
Telephonedirectory (1)
Telephonedirectory (1)Telephonedirectory (1)
Telephonedirectory (1)
 
Queues
QueuesQueues
Queues
 
computer notes - Evaluating postfix expressions
computer notes - Evaluating postfix expressionscomputer notes - Evaluating postfix expressions
computer notes - Evaluating postfix expressions
 
Python : Functions
Python : FunctionsPython : Functions
Python : Functions
 
Data Structures in Python
Data Structures in PythonData Structures in Python
Data Structures in Python
 
Queue Data Structure
Queue Data StructureQueue Data Structure
Queue Data Structure
 
Heap sort
Heap sortHeap sort
Heap sort
 
Oops practical file
Oops practical fileOops practical file
Oops practical file
 
Project report
Project report Project report
Project report
 
Data Structures Using C Practical File
Data Structures Using C Practical File Data Structures Using C Practical File
Data Structures Using C Practical File
 
String Manipulation in Python
String Manipulation in PythonString Manipulation in Python
String Manipulation in Python
 
Data Structures - Lecture 8 [Sorting Algorithms]
Data Structures - Lecture 8 [Sorting Algorithms]Data Structures - Lecture 8 [Sorting Algorithms]
Data Structures - Lecture 8 [Sorting Algorithms]
 
Telephone billing system in c++
Telephone billing system in c++Telephone billing system in c++
Telephone billing system in c++
 
Data Structures Practical File
Data Structures Practical File Data Structures Practical File
Data Structures Practical File
 
Python Matplotlib Tutorial | Matplotlib Tutorial | Python Tutorial | Python T...
Python Matplotlib Tutorial | Matplotlib Tutorial | Python Tutorial | Python T...Python Matplotlib Tutorial | Matplotlib Tutorial | Python Tutorial | Python T...
Python Matplotlib Tutorial | Matplotlib Tutorial | Python Tutorial | Python T...
 
Data Structure (Queue)
Data Structure (Queue)Data Structure (Queue)
Data Structure (Queue)
 

Similar to Graphical representation of Stack

include ltiostreamgt include ltstringgt include .pdf
include ltiostreamgt include ltstringgt include .pdfinclude ltiostreamgt include ltstringgt include .pdf
include ltiostreamgt include ltstringgt include .pdf
contact32
 
Drawing on canvas
Drawing on canvasDrawing on canvas
Drawing on canvas
suitzero
 
Exploring Canvas
Exploring CanvasExploring Canvas
Exploring Canvas
Kevin Hoyt
 
Refactoring to Macros with Clojure
Refactoring to Macros with ClojureRefactoring to Macros with Clojure
Refactoring to Macros with Clojure
Dmitry Buzdin
 
Im trying again -Okay, Im in need of some help - this is the c.pdf
Im trying again -Okay, Im in need of some help - this is the c.pdfIm trying again -Okay, Im in need of some help - this is the c.pdf
Im trying again -Okay, Im in need of some help - this is the c.pdf
eyeonsecuritysystems
 

Similar to Graphical representation of Stack (20)

Theme verdadeiro
Theme verdadeiroTheme verdadeiro
Theme verdadeiro
 
Documento de acrobat2
Documento de acrobat2Documento de acrobat2
Documento de acrobat2
 
Blocks+gcd入門
Blocks+gcd入門Blocks+gcd入門
Blocks+gcd入門
 
include ltiostreamgt include ltstringgt include .pdf
include ltiostreamgt include ltstringgt include .pdfinclude ltiostreamgt include ltstringgt include .pdf
include ltiostreamgt include ltstringgt include .pdf
 
Drawing on canvas
Drawing on canvasDrawing on canvas
Drawing on canvas
 
Scala 2 + 2 > 4
Scala 2 + 2 > 4Scala 2 + 2 > 4
Scala 2 + 2 > 4
 
CBSE Class XII Comp sc practical file
CBSE Class XII Comp sc practical fileCBSE Class XII Comp sc practical file
CBSE Class XII Comp sc practical file
 
C program
C programC program
C program
 
Exploring Canvas
Exploring CanvasExploring Canvas
Exploring Canvas
 
[3] 프로세싱과 아두이노
[3] 프로세싱과 아두이노[3] 프로세싱과 아두이노
[3] 프로세싱과 아두이노
 
C Code and the Art of Obfuscation
C Code and the Art of ObfuscationC Code and the Art of Obfuscation
C Code and the Art of Obfuscation
 
Refactoring to Macros with Clojure
Refactoring to Macros with ClojureRefactoring to Macros with Clojure
Refactoring to Macros with Clojure
 
Pdxpugday2010 pg90
Pdxpugday2010 pg90Pdxpugday2010 pg90
Pdxpugday2010 pg90
 
Why Go Scales
Why Go ScalesWhy Go Scales
Why Go Scales
 
Arrays
ArraysArrays
Arrays
 
Vcs23
Vcs23Vcs23
Vcs23
 
Im trying again -Okay, Im in need of some help - this is the c.pdf
Im trying again -Okay, Im in need of some help - this is the c.pdfIm trying again -Okay, Im in need of some help - this is the c.pdf
Im trying again -Okay, Im in need of some help - this is the c.pdf
 
Data structures lab manual
Data structures lab manualData structures lab manual
Data structures lab manual
 
05 queues
05 queues05 queues
05 queues
 
Project hotel on hotel management fo
Project  hotel on hotel management foProject  hotel on hotel management fo
Project hotel on hotel management fo
 

More from Sanjay Kumar Chakravarti (8)

IMPLEMENTATION OF AUTO KEY IN C++
IMPLEMENTATION OF AUTO KEY IN C++IMPLEMENTATION OF AUTO KEY IN C++
IMPLEMENTATION OF AUTO KEY IN C++
 
Design A Screen saver in c on Moving Train with Side view.
Design A Screen saver in c on Moving Train with Side view.Design A Screen saver in c on Moving Train with Side view.
Design A Screen saver in c on Moving Train with Side view.
 
Design A Screen saver in c on Moving Train with Side view.
Design A Screen saver in c on Moving Train with Side view.Design A Screen saver in c on Moving Train with Side view.
Design A Screen saver in c on Moving Train with Side view.
 
Microassembler a10
Microassembler a10Microassembler a10
Microassembler a10
 
Micro Assembler
Micro AssemblerMicro Assembler
Micro Assembler
 
Design problem
Design problemDesign problem
Design problem
 
Computer Network
Computer NetworkComputer Network
Computer Network
 
Structured Analysis and Structured Design
Structured Analysis and Structured DesignStructured Analysis and Structured Design
Structured Analysis and Structured Design
 

Recently uploaded

Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
AnaAcapella
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 

Recently uploaded (20)

Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 

Graphical representation of Stack

  • 1. MINI PROJECT CSE205 TOPIC:Graphical reperesntation of stack Submitted by: SANJAY KUMAR CHAKRAVARTI ROLL:A28 SEC:K2R13 Submitted to: Miss.Deepika sukhija Dept. cse Lpu,phagwara
  • 2. Acknowledgement Apart from the efforts of me, the success of this project depends largely on the encouragement and guidelines of many others. I take this opportunity to express my gratitude to the people who have been instrumental in the successful completion of this project. I would like to show my greatest appreciation to Miss. Deepika sukhija I can’t say thank you enough for his tremendous support and help. I feel motivated and encouraged every time I attend his meeting. Without his encouragement and guidance this project would not have materialized. The guidance and support received from all the team members including Mr. sanjeev kumar and Mr. Abhay kumar who contributed and are contributing to this project, was vital for the success of the project. I am grateful for their constant support and help.
  • 3. CONTENT TOPIC PAGE NO. . 1 ABSTRACT-------------------------------------------------- 04 2. INTRODUCTION------------------------------------------- 05 3.SOURCE CODE---------------------------------------------- 06-18 4.OUTPUTS------------------------------------------------------ 19-21 4.REFRENCES-------------------------------------------------- 22
  • 4. ABSTRACT This project was very important for me. In this project I have show a graphical view of stacks for better understanding. It will gives you many features as listed below: 1. Graphical view 2. Simple programming language 3. Source code contains comments line where needed 4. A best approach with graphics programming
  • 5. INTRODUCTION The Stack is a Memory Area where you can store data there and can get back them again. In computer science, a stack is a last in, first out (LIFO) abstract data type and linear data structure . A stack can have any abstract data type as an element , but is characterized by two fundamental operations, called PUSH and POP. The push operation adds a new item to the top of the stack, or initializes the stack if it is empty. If the stack is full and does not contain enough space to accept the given item, the stack is then considered to be in an overflow state. The pop operation removes an item from the top of the stack. A pop either reveals previously concealed items, or results in an empty stack, but if the stack is empty then it goes into underflow state (It means no items are present in stack to be removed). A stack is a restricted data structure , because only a small number of operations are performed on it. The nature of the pop and push operations also means that stack elements have a natural order. Elements are removed from the stack in the reverse order to the order of their addition: therefore, the lower elements are those that have been on the stack the longest.
  • 6. Source code #include<iostream.h> //for cin, cout #include<conio.h> //for getche() #include<ctype.h> //for tolower() function #include<stdlib.h> //for itoa() #include<GRAPHICS.H> //to load graphics driver #include<dos.h> //for delay() function /*_________________________________________________________________ ________*//*_______________________________________________________ __________________*///These Functions prototypes are, for stack function. int col=60 , row = 417 ,n ,x=60 , y=417 ,size=10 ,arr[10]={12,56,23,46,32,89,11,99,12,66} , count = 0, top = 0; //Global Variables char string[45]; void push( ); void pop( ); void stack();
  • 7. void loadgraph(); void main() { clrscr(); char ch; struct fillsettingstype fillinfo; loadgraph(); setbkcolor(0); setcolor(2); do { rectangle(2,2,620,410); rectangle(4,4,618,408); line(0,30,620,30); getfillsettings(&fillinfo); line(0,32,620,32); line(100,32,100,410); moveto(180,15); outtext("SANJAY KUMAR CHAKRAVARTI"); // circle(300,120,110);
  • 8. setbkcolor(12); gotoxy(37,5); cout<<"Menu"; gotoxy(30,6); cout<<"Stack [s]"; gotoxy(30,8); cout<<"Exit [x]"; gotoxy(30,10); cout<<"Enter Option [ ]"; ch=getche(); ch = tolower(ch); gotoxy(30,15); if(ch=='s') stack(); }while(ch!='x'); cleardevice(); closegraph(); } void loadgraph() { clrscr(); int driver = DETECT, mode, errorcode;
  • 9. initgraph(&driver, &mode, "c:tcbgi"); errorcode = graphresult(); if (errorcode != grOk) { cout<<"Graphics error: n"<<(grapherrormsg(errorcode)); cout<<"Press any key to halt:"; getch(); exit(1); } } void stack() { cleardevice(); moveto(400,60); outtext("STACK'S OPERATIONS"); moveto(400,80); outtext("PUSH [p]"); moveto(400,100); outtext("POP [o]"); moveto(400,120); outtext("EXIT [x]"); moveto(300,125); outtext("Top");
  • 10. itoa(top,string,10); line(150,0,150,415); outtextxy(308,450,string); setbkcolor(3); setcolor(14); outtextxy(55,26,"NOW STACK:"); line(30,40,30,440); int r=40; for(int i = 1 ;i<12 ;i++) { line(30,r,110,r); r+=40; } line(110,40,110,440); r = 55; for( i = 10 ;i>=1 ;i--) { moveto(10,r); itoa(i,string,10); outtext(string) ; r+=40; } line(165,440,210,440);
  • 11. line(165,440,165,460); line(210,440,210,460); line(165,460,210,460); setfillstyle(0, getmaxcolor()); char ch[2]; do { moveto(400,140); outtext("ENTER OPTION "); ch[0]=getche(); ch[0] = tolower(ch[0]); if(ch[0]=='p') { outtext("p"); delay(500); bar(getx()-30,gety(),getx()+2,gety()+20); if(size<1) { for(int i = 0 ;i<4 ; i++){ moveto(420,170); outtext("Stack Overflow "); delay(1000); setfillstyle(0, getmaxcolor()); bar(420 ,165 ,630 ,180);
  • 12. delay(500);} } else if( size>1) { size--; top++; push(); bar(290,440,350,479); itoa(top,string,10); outtextxy(308,447,string); }}//end of Nested if else if(ch[0]=='o') { outtext("o"); delay(500); bar(getx()-30,gety(),getx()+10,gety()+20); if(size==10) { for(int i = 0 ;i<4 ; i++){
  • 13. moveto(410,170); outtext("Stack, Underflow "); delay(1000); setfillstyle(0, getmaxcolor()); bar(330 ,165 ,630 ,180); delay(500); } } else { top--; pop(); bar(290,440,350,479); itoa(top,string,10); outtextxy(308,447,string); } } } while(ch[0]!='x'); } void push() { int a=178 , b=425 ;
  • 14. moveto(178,447); itoa(arr[count],string,10); outtext(string); delay(10); bar(170,446,208,455); itoa(arr[count+1],string,10); moveto(178,447); outtext(string); moveto(a,b); while(gety()!=y) { setfillstyle(0, getmaxcolor()); circle(a+6,b+3,12); itoa(arr[count],string,10); outtext(string); delay(10); setfillstyle(0, getmaxcolor()); bar(170 ,gety()-20 ,200 ,gety()+14); moveto(a,b); b--; } setfillstyle(0, getmaxcolor()); circle(a+6,b+3,9);
  • 15. outtext(string); moveto(125,b); for(int j =0 ;j<6 ; j++) { outtext("<<--"); delay(100); setfillstyle(0, getmaxcolor()); bar(getx()-3 ,gety() ,getx() ,gety()+8); delay(100); } delay(100); setfillstyle(0, getmaxcolor()); bar(getx()-48 ,gety() ,getx() ,gety()+8); delay(100); delay(200); while(getx()!=x+60) { setfillstyle(0, getmaxcolor()); circle(a+6,b+3,9); itoa(arr[count],string,10); outtext(string); delay(10); setfillstyle(0, getmaxcolor()); bar(getx()-20 ,gety()-10 ,getx()+70 ,gety()+20);
  • 16. moveto(a,b); a--; } delay(100); moveto(60,gety()); outtext(string); count++; y = y-40; } void pop() { int a=120, b ; y = y + 40 ; b=y ; moveto(120,y); for(int j=0 ;j<6 ; j++) { outtext("®"); delay(100); setfillstyle(0, getmaxcolor()); bar(getx()-3 ,gety() ,getx() ,gety()+8); delay(100); }
  • 17. delay(100); setfillstyle(0, getmaxcolor()); bar(getx()-48 ,gety() ,getx() ,gety()+8); delay(200); moveto(60,gety()); setfillstyle(0, getmaxcolor()); bar(getx()-10 ,gety()-3 ,getx()+20 ,gety()+8); delay(500); while(getx()!=178) { setfillstyle(0, getmaxcolor()); circle(a+6,b+3,12); moveto(a,gety()); itoa(arr[count-1],string,10); outtext(string); delay(10); setfillstyle(0, getmaxcolor()); bar(getx()-25 ,gety()-10 ,getx()+30 ,gety()+20); a++; } delay(500); while(gety()!=430) {
  • 18. setfillstyle(0, getmaxcolor()); circle(a+21,b+3,7); moveto(178,b); itoa(arr[count-1],string,10); outtext(string); delay(10); setfillstyle(0, getmaxcolor()); bar(getx()-30 ,gety()-10 ,getx()+20 ,gety()+9); b++; } delay(10); moveto(178,447); bar(170,446,208,455); count--; moveto(178,447); itoa(arr[count],string,10); outtext(string); size++; }
  • 21.