c++ project on cricket database system

54
/* Infix to postfix conversion using stack*/ #include<iostream.h> #include<conio.h> #include<stdio.h> #include<stdlib.h> #include<string.h> const int size = 50; char infix[size], postfix[size], Stack[size]; int top = -1; int precedence(char ch); //function to get precedence of operator char Pop(); //function to pop an element from stack char Topelement(); //function to return top element from stack without popping void Push(char ch); //function to push an elemnt in the stack int braces(char *); //function to match number of braces int main() { clrscr(); char ele, elem, st[20]; int prep, pre, popped, j =0 ,chk = 0; strcpy(postfix," "); cout<<"ASSUMPTIoN: The infix expression contains single letter variables\n\t\t and single digit expression only. \n"; cout<<"Enter Infix Expression :\t "; gets(infix);

Upload: abhistchauhan

Post on 13-Apr-2016

321 views

Category:

Documents


10 download

DESCRIPTION

Fully Edited

TRANSCRIPT

Page 1: C++ Project On Cricket Database System

/* Infix to postfix conversion using stack*/

#include<iostream.h>

#include<conio.h>

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

const int size = 50;

char infix[size], postfix[size], Stack[size];

int top = -1;

int precedence(char ch); //function to get precedence of operator

char Pop(); //function to pop an element from stack

char Topelement(); //function to return top element from stack without popping

void Push(char ch); //function to push an elemnt in the stack

int braces(char *); //function to match number of braces

int main()

{ clrscr();

char ele, elem, st[20];

int prep, pre, popped, j =0 ,chk = 0;

strcpy(postfix," ");

cout<<"ASSUMPTIoN: The infix expression contains single letter variables\n\t\t and single digit expression only. \n";

cout<<"Enter Infix Expression :\t ";

gets(infix);

chk = braces(infix);

if(chk!=0)

{ cout<<"Unbalanced no. of braces.. \n\t Extra";

Page 2: C++ Project On Cricket Database System

cout<<(chk == 1 ? "right braces":"left braces")<<endl;

system("pause");

exit(1);

} for(int i = 0; infix[i]!='\0';i++)

{ if(infix[i]!='('&&infix[i]!='^'&&infix[i]!='*'&&infix[i]!='/'&&infix[i]!='+'&&infix[i]!='-')

postfix[j++]=infix[i];

else if(infix[i]=='(')

{ elem = infix[i];

Push(elem);

} else if(infix[i]==')')

{ while((popped = Pop())!= '(')

{ postfix[j++]=popped;

} }

else

{elem = infix[i];

pre = precedence(elem);//pre stores precedence of operator coming from infix expression

ele = Topelement();

prep = precedence(ele);//prep stores precedence of operator at the top of stack

if(pre>prep) Push(elem);

else

{ while(prep>=pre)

{ if(ele=='#') break;

popped = Pop();

ele = Topelement();

postfix[j++] = popped;

Page 3: C++ Project On Cricket Database System

prep = precedence(ele);

}

Push(elem);

} } }

while((popped = Pop() )!= '#')

postfix[j++]= popped;

postfix[j++]= '\0';

cout<<"\nPostfix:"<<postfix<<endl;

getch();

return 0;

}

int precedence(char ch)

{ switch(ch)

{ case'^':return 5;

case'/':return 4;

case'*': return 4;

case'+':return 3;

case'-':return 3;

default : return 0;

} }

char Pop() //function to pop an element from Stack

{ char ret;

if(top!=-1)

{ ret = Stack[top];

top--;

Page 4: C++ Project On Cricket Database System

return ret;

}

else

return '#'; }

char Topelement()//function to return top element from Stack withoutpopping

{ char ch;

if(top!=-1)

ch= Stack[top];

else

ch = '#';

return ch;

}

void Push(char ch)

{ if(top!=size-1)

{ top++;

Stack[top]= ch;

} }

int braces (char *s)

{ int leftbr,rightbr;

leftbr=rightbr=0;

for(int i = 0; s[i]; i++)

{ if(s[i]=='(')

leftbr++;

else

if(s[i]==')')

Page 5: C++ Project On Cricket Database System

rightbr++;

} if(leftbr == rightbr)

return 0;

else if(leftbr<rightbr)

return 1;

else return -1;

}

OUTPUT

Page 6: C++ Project On Cricket Database System

/* Wap to implement stack as a linked list */

#include<iostream.h>

#include<conio.h>

#include<process.h>

struct node {

int roll;

node* next;

}*top,*save,*ptr,*newptr,*np;

node *create(int a)

{ ptr=new node;

ptr->roll=a;

ptr->next=NULL;

return ptr;

}

void push(node *np)

{ if(top==NULL)

top=np;

else

{ save=top;

top=np;

np->next=save;

} }

Page 7: C++ Project On Cricket Database System

void pop()

{ if(top==NULL)

cout<<"\n Underflow!!!!";

else

{ ptr=top;

top=top->next;

delete ptr;

} }

void display(node *np)

{ while(np!=NULL)

{ cout<<np->roll<<" -> ";

np=np->next;

} }

void main()

{ clrscr();

top=NULL;

int n,m;

char k,ch;

do { cout<<"\nChoose from the menu :\n"

<<"\n 1. Push."

<<"\n 2. Pop."

<<"\n 3. Display."

<<"\n 4. Quit."

Page 8: C++ Project On Cricket Database System

<<"\n\nEnter your choice : ";

cin>>n;

switch(n)

{ case 1: k='y';

while(k=='y'||k=='Y')

{ cout<<"\n Enter element to be inserted .";

cin>>m;

newptr=create(m);

if(newptr==NULL)

cout<<"\n Cannot create !!!!";

push(newptr);

cout<<"\n The Stack formed is : ";

display(top);

cout<<"\n\n Want to enter again ?: ";

cin>>k;

}

break;

case 2: k='y';

while(k=='y'||k=='Y')

{ pop();

cout<<"\n The Stack formed is : \n\n";

display(top);

cout<<"\n\n Want to delete again ?: ";

cin>>k;

Page 9: C++ Project On Cricket Database System

}

break;

case 3: cout<<"\n The Stack formed is : ";

display(top);

break;

case 4: exit(0);

break;

default: cout<<"\n Please enter desired keyword : ";

}

cout<<"\n Do you want to continue..? : ";

cin>>ch;

}while(ch=='y'||ch=='Y');

getch();

}

Page 10: C++ Project On Cricket Database System

OUTPUT

Page 11: C++ Project On Cricket Database System

/* Wap in c++ to implement Queue as a linked list */

#include<iostream.h>

#include<conio.h>

struct node {

int roll;

node* next;

}*front,*rear,*ptr,*newptr,*np;

node *create(int a)

{ ptr=new node;

ptr->roll=a;

ptr->next=NULL;

return ptr;

} void insert(node *np)

{ if(front==NULL)

front=rear=np;

else

{ rear->next=np;

rear=np;

} }

void delet()

{ if(front==NULL)

cout<<"\n Underflow!!!!";

else

{ ptr=front;

front=front->next;

Page 12: C++ Project On Cricket Database System

delete ptr;

} }

void display(node *np)

{

while(np!=NULL)

{ cout<<np->roll<<"-> ";

np=np->next;

} }

void main()

{ clrscr();

front=rear=NULL;

int n,m;

char ans,ch;

do

{ cout<<"\nChoose from the menu : "

<<"\n 1) Insert."

<<"\n 2) Delete"

<<"\n 3) Display."

<<"\n\n Enter your choice : ";

cin>>n;

switch(n)

{ case 1: ans='y';

while(ans=='y'||ans=='Y')

{ cout<<"\n Enter element to be inserted .";

cin>>m;

Page 13: C++ Project On Cricket Database System

newptr=create(m);

if(newptr==NULL)

cout<<"\n Cannot create !!!!";

insert(newptr);

cout<<"\n The Queue formed is : ";

display(front);

cout<<"\n Want to enter more nodes ?: ";

cin>>ans;

}

break;

case 2: ans='y';

while(ans=='y'||ans=='Y')

{

delet();

cout<<"\n Queue : ";

display(front);

cout<<"\n Want to delete more ?: ";

cin>>ans;

} break;

case 3: cout<<"\n Queue : ";

display(front);

break;

default: cout<<"\n You entered wrong choice...";

}

cout<<"\n Want to return to main menu ? : ";

Page 14: C++ Project On Cricket Database System

cin>>ch;

}while(ch=='y'||ch=='Y');

getch();

}

OUTPUT

Page 15: C++ Project On Cricket Database System

//Menu driven program to create a file,read a file,count the no. of records and search for a records

//header files used

Page 16: C++ Project On Cricket Database System

#include<iostream.h>

#include<conio.h>

#include<stdio.h>

#include<string.h>

#include<fstream.h>

//class declaration

class floppy

{ public:

int floppy_id;

char name[20];

int size;

void getdata()

{ cout<<"Enter the floppy id ";

cin>>floppy_id;

cout<<"Enter the name of the floppy ";

gets(name);

cout<<"Enter the size of the floppy ";

cin>>size;

}

void display()

{

cout<<"Floppy Id ===>"<<floppy_id;

cout<<"\nFloppy Name ===>";

puts(name);

cout<<"Size ===>"<<size<<"\n";

Page 17: C++ Project On Cricket Database System

}

}f1;

void create() //function to create a file

{

char c;

fstream file;

file.open("floppy.dat",ios::out|ios::binary);

do

{

f1.getdata();

file.write((char*)&f1,sizeof(f1));

cout<<"\nDo you want to enter another record?(y/n)"<<"\n";

cin>>c;

}while(c=='y');

file.close();

}

void showfile() //function to read a file

{

fstream file;

file.open("floppy.dat",ios::in|ios::binary);

while(file.read((char*)&f1,sizeof(f1)))

{

f1.display();

}

file.close();

}

Page 18: C++ Project On Cricket Database System

void main()

{

fstream file;

char q;

int ch;

do

{clrscr();

cout<<"What do you want to do ?\n";

cout<<"1.Create a file\n";

cout<<"2.Read a file\n";

cout<<"3.Count the number of records\n";

cout<<"4.Search a floppy by name or id\n";

cout<<"Enter your choice ";

cin>>ch;

switch(ch)

{

case 1: create();

break;

case 2:

showfile();

break;

case 3: int r=0;

file.open("floppy.dat",ios::in);

while(file.read((char*)&f1,sizeof(f1))) //counting the total no. of records

Page 19: C++ Project On Cricket Database System

{

++r;

};

file.close();

cout<<"No. of records= "<<r<<"\n";

break;

case 4: //case for searching a record by name or id

int w;

file.open("floppy.dat",ios::in|ios::binary);

cout<<"Search according to\n"<<"1.Name\n"<<"2.Id\n";

cin>>w;

if(w==1)

{

char n[20],e[20];

cout<<"Enter the name you want to search\n";

gets(n);

while(file.read((char*)&f1,sizeof(f1)))

{

strcpy(e,f1.name);

if(strcmp(n,f1.name)==0)

f1.display();

};

file.close();

break;

}

Page 20: C++ Project On Cricket Database System

if(w==2)

{

int i;

cout<<"Enter the Id of the floppy you want to search\n";

cin>>i;

while(file.read((char*)&f1,sizeof(f1)))

{

if(f1.floppy_id==i)

f1.display();

};

file.close();

break;

}

}

cout<<"Do you want to continue?(y/n)";

cin>>q;

}while(q=='y');

getch();

}

OUTPUT

Page 21: C++ Project On Cricket Database System

//menu driven program to create a file,read a file,edit a record or insert a new record

//header files used

Page 22: C++ Project On Cricket Database System

#include<iostream.h>

#include<conio.h>

#include<stdio.h>

#include<string.h>

#include<fstream.h>

int r=1;

class book

{ public:

int book_id;

char name[20];

int pages;

void getdata()

{ cout<<"Enter the book id ";

cin>>book_id;

cout<<"Enter the name of the book ";

gets(name);

cout<<"Enter the number of pages in the book ";

cin>>pages;

} void display()

{ cout<<"Book Id ===>"<<book_id;

cout<<"\nBook Name ===>";

puts(name);

cout<<"Pages===>"<<pages<<"\n"<<"\n";

} }f1,f2;

void create(); //function prototype

void showfile() //function to read a file

Page 23: C++ Project On Cricket Database System

{ fstream file;

file.open("book.dat",ios::in|ios::binary);

while(file.read((char*)&f1,sizeof(f1)))

{ f1.display();

};

file.close();

} void rewrite() //function to rewrite a file

{ fstream file,temp;

file.open("book.dat",ios::out|ios::binary);

temp.open("temp.dat",ios::in|ios::binary);

while(temp.read((char*)&f1,sizeof(f1)))

{ file.write((char*)&f1,sizeof(f1));

} file.close();

temp.close();

remove("temp");

} //main program

void main()

{ clrscr();

fstream file,temp;

int ch,r=0;

char q;

do

{ clrscr();

cout<<"What do you want to do ?\n";

cout<<"1.Create a file\n";

cout<<"2.Read a file\n";

Page 24: C++ Project On Cricket Database System

cout<<"3.Edit nth record\n";

cout<<"4.Insert a record after nth record\n";

cout<<"5.Insert a record after a specified book id\n";

cout<<"Enter your choice ";

cin>>ch;

switch(ch)

{ case 1: create();

break;

case 2: showfile();

break;

case 3:

int i;

cout<<"Enter the record no. you want to edit ";

cin>>i;

cout<<"Enter the altered record\n";

f2.getdata();

temp.open("temp.dat",ios::out|ios::binary);

file.open("book.dat",ios::in|ios::binary);

while(file.read((char*)&f1,sizeof(f1))) //case for editing a specified record

{ r++;

if(r==i)

temp.write((char*)&f2,sizeof(f2));

else

temp.write((char*)&f1,sizeof(f1));

}; file.close();

temp.close();

Page 25: C++ Project On Cricket Database System

rewrite();

showfile();

break;

case 4:

int y=0,u;

cout<<"Enter the new record\n";

f2.getdata();

cout<<"Enter the record after which you want to insert the record ";

cin>>u;

temp.open("temp.dat",ios::out|ios::binary);

file.open("book.dat",ios::in|ios::binary);

while(file.read((char*)&f1,sizeof(f1)))

{ y++;

if(y==u)

{ temp.write((char*)&f1,sizeof(f1)); //case for inserting a record at a specified postion

temp.write((char*)&f2,sizeof(f2));

} else

temp.write((char*)&f1,sizeof(f1));

}; temp.close();

file.close();

rewrite();

showfile();

break;

case 5:

int w;

cout<<"Enter the new record\n";

Page 26: C++ Project On Cricket Database System

f2.getdata();

cout<<"enter the book id after which you want to insert the record ";

cin>>w;

file.open("book.dat",ios::in|ios::binary);

temp.open("temp.dat",ios::out|ios::binary);

while(file.read((char*)&f1,sizeof(f1)))

{ if(f1.book_id!=w)

temp.write((char*)&f1,sizeof(f1)); //case for inserting a record after a specified book id

else

{ temp.write((char*)&f1,sizeof(f1));

temp.write((char*)&f2,sizeof(f2));

} }

temp.close();

file.close();

rewrite();

showfile();

break;

} cout<<"Do you want to continue?(y/n) ";

cin>>q;

}while(q=='y');

getch();

} void create() //function to create a file

{ char c;

fstream file;

file.open("book.dat",ios::out|ios::binary);

do

Page 27: C++ Project On Cricket Database System

{ clrscr();

f1.getdata();

file.write((char*)&f1,sizeof(f1));

cout<<"Do you want to enter another record?(y/n)";

cin>>c;

} while(c=='y');

file.close();

}

OUTPUT

//Menu driven program to create a file,read a file,delete the last record or delete any record

//header files used

#include<iostream.h>

#include<conio.h>

#include<stdio.h>

Page 28: C++ Project On Cricket Database System

#include<string.h>

#include<fstream.h>

int r=0;

class employee

{ public:

int eno;

char ename[20];

double salary;

void getdata()

{ cout<<"Enter the employee no. ";

cin>>eno;

cout<<"Enter the name of the employee ";

gets(ename);

cout<<"Enter the employee's salary ";

cin>>salary;

} void display()

{ cout<<"Employee no. ===>"<<eno;

cout<<"\nEmployee's Name ===>";

puts(ename);

cout<<"Salary ===>"<<salary<<"\n";

} } f1;

void create(); //function prototype

void showfile() //function to read a file

{ fstream file;

file.open("emp.dat",ios::in|ios::binary);

while(file.read((char*)&f1,sizeof(f1)))

Page 29: C++ Project On Cricket Database System

{ f1.display();

}; file.close();

} void rewrite() //function to rewrite a file

{ fstream file,temp;

file.open("emp.dat",ios::out|ios::binary);

temp.open("temp.dat",ios::in|ios::binary);

while(temp.read((char*)&f1,sizeof(f1)))

{ file.write((char*)&f1,sizeof(f1));

} file.close();

temp.close();

remove("temp");

} void dellst() //function to delete the last record

{ fstream file,temp;

int e=1;

file.open("emp.dat",ios::in|ios::binary);

temp.open("temp.dat",ios::out|ios::binary);

file.seekg(0);

while(file.read((char*)&f1,sizeof(f1)))

{ if(e!=r)

{ temp.write((char*)&f1,sizeof(f1));

e++;

} file.close();

temp.close();

rewrite();

} showfile();

} void main()

Page 30: C++ Project On Cricket Database System

{ clrscr();

fstream file,temp;

int ch,r=0;

char q;

do

{ clrscr();

cout<<"What do you want to do ?\n";

cout<<"1.Create a file\n";

cout<<"2.Read a file\n";

cout<<"3.Count the no. of records\n";

cout<<"4.Delete the last record\n";

cout<<"5.Delete any record\n";

cout<<"Enter your choice ";

cin>>ch;

switch(ch)

{ case 1: create();

break;

case 2: showfile();

break;

case 3:

file.open("emp.dat",ios::in);

while(file.read((char*)&f1,sizeof(f1)))

{ r++;

};

file.close();

cout<<"No. of records= "<<r;

Page 31: C++ Project On Cricket Database System

break;

case 4: dellst();

break;

case 5:

int w,t=1;

cout<<"enter the record you want to delete ";

cin>>w;

file.open("emp.dat",ios::in|ios::binary);

temp.open("temp.dat",ios::out|ios::binary);

while(file.read((char*)&f1,sizeof(f1))) //case to delete any record

{ if(t!=w)

temp.write((char*)&f1,sizeof(f1));

t++;

} temp.close();

file.close();

rewrite();

showfile();

break;

} cout<<"Do you want to continue?(y/n)";

cin>>q;

}while(q=='y');

getch();

}void create() //function to create a file

{ char c;

fstream file;

file.open("emp.dat",ios::out|ios::binary);

Page 32: C++ Project On Cricket Database System

do

{ clrscr();

f1.getdata();

file.write((char*)&f1,sizeof(f1));

cout<<"Do you want to enter another record?(y/n)";

cin>>c;

}while(c=='y');

file.close();

}

OUTPUT

/*Program To Find The Largest Number

Using Pointers*/

#include<iostream.h>

#include<conio.h>

int *big(int &a, int &b, int &c)

Page 33: C++ Project On Cricket Database System

{ if((a>b) && (a>c))

return (&a);

if((b>c) && (b>a))

return (&b);

else

return(&c);

}

void main()

{ clrscr();

int *big(int&, int&,int&);

int n1,n2,n3,*large;

cout<<" Enter the numbers: \n";

cin>>n1>>n2>>n3;

large=big(n1,n2,n3);

cout<<"The largest number is: "<<*large;

getch();

}

OUTPUT

Page 34: C++ Project On Cricket Database System

/* Wap using pointers to swap two integers. */

#include<iostream.h>

Page 35: C++ Project On Cricket Database System

#include<conio.h>

void swap_using_pointers(int *, int *);

void main()

{

clrscr();

int a,b;

cout<<"\n\nEnter first integer : "; cin>>a;

cout<<"\n\nEnter second integer : "; cin>>b;

swap_using_pointers(&a,&b);

cout<<"\n\nNow value of first integer = "<<a;

cout<<"\n\nNow value of second integer = "<<b;

getch();

}

void swap_using_pointers(int *a,int *b)

{

int temp;

temp=*a;

Page 36: C++ Project On Cricket Database System

*a=*b;

*b=temp;

}

OUTPUT

/* PROGRAM FOR INSERTION,DELETION & DISPLAY

OF QUEUE USING ARRAY*/

#include<iostream.h>

#include<conio.h>

Page 37: C++ Project On Cricket Database System

#include<stdlib.h>

#include<process.h>

int del(int[]);

int insert(int[],int);

void display(int[] ,int,int);

const int size=50;

int queue[size],front=-1,rear=-1;

void main()

{ clrscr();

int item,res;

char ch='y';

while(ch=='y'||ch=='Y')

{

cout<<"Enter Number for insertion : ";

cin>>item;

res=insert(queue,item);

if(res==-1)

{ cout<<"\nOVERFLOW ";

exit(1);}

cout<<"Now the Queue (Front to Rear) is :- \n";

display(queue,front,rear);

cout<<"Want to insert more elements (y/n) : ";

cin>>ch;

}

cout<<"\nQueue After Deletion:";

ch='y';

Page 38: C++ Project On Cricket Database System

while(ch=='y'||ch=='Y')

{ res=del(queue);

if(res==-1)

{ cout<<"\nUNDERFLOW ";

exit(1);}

else

{ cout<<"\nElement Deleted is : "<<res<<endl;

cout<<"\nNow the Queue(Front to Rear) is :- \n";

display(queue,front,rear);

cout<<"\nWant to delete more elements (y/n) : ";

cin>>ch;

}

}

getch();

}

int insert(int queue[],int ele)

{ if(rear==size-1)

return -1;

else if(rear==-1)

{

front=rear=0;

queue[rear]=ele;

}

else

Page 39: C++ Project On Cricket Database System

{

rear++;

queue[rear]=ele;

}

return 0;

}

int del(int queue[])

{

int ret;

if(front==-1)

return -1;

else

{

ret=queue[front];

if(front==rear)

front=rear=-1;

else

front++;

}

return ret;

}

void display(int queue[],int front,int rear)

{

if(front==-1)

return ;

for(int i=front;i<rear;i++)

Page 40: C++ Project On Cricket Database System

cout<<queue[i]<<"\t<-\t";

cout<<queue[rear]<<endl;

}

OUTPUT

//This program illustrates how to insert a node at kth position using Linked List

#include<iostream.h>

#include<conio.h>

Page 41: C++ Project On Cricket Database System

class NODE

{ public:

int bookno;

NODE *link;

};

class LINKLIST

{ private:

NODE *first, *last,*temp;

public:

void NCREATE(int);

void insertatk(int);

void display();

};

void LINKLIST::NCREATE(int n)

{ first=new NODE;

cout<<"\n Enter the book no";

cin>>first->bookno;

first->link=NULL;

temp=first;

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

{ last=new NODE;

cout<<"\n Enter the book number";

cin>>last->bookno;

last->link=NULL;

temp->link=last;

temp=last;

Page 42: C++ Project On Cricket Database System

}

}

void LINKLIST::insertatk(int j)

{ int i=0;

NODE *newnode,*back;

newnode= new NODE;

cout<<"\nEnter the data value";

cin>>newnode->bookno;

newnode->link=NULL;

temp=first;

while( i<(j-1))

{ back=temp;

temp=temp->link;

i++;

}

back->link=newnode;

newnode->link=temp;

}

void LINKLIST::display()

{ temp=first;

cout<<"\nThe Linked List is: \n";

while(temp!=NULL)

{ cout<<"\n"<<temp->bookno;

temp=temp->link;

}

getch();

Page 43: C++ Project On Cricket Database System

}

void main()

{ int ch,n,k;

LINKLIST list;

clrscr();

cout<<"\nEnter how many nodes in the list: ";

cin>>n;

list.NCREATE(n);

do

{ clrscr();

cout<<"\n1. For insert ";

cout<<"\n2. For display ";

cout<<"\n3. For quit ";

cout<<"\nEnter your choice ";

cin>>ch;

switch(ch)

{ case 1: cout<<"\nEnter the position at which insertion is required ";

cin>>k;

list.insertatk(k);

break;

case 2: list.display();

break;

}

}while(ch!=3);

}

OUTPUT

Page 44: C++ Project On Cricket Database System

//This program illustrates the basic operations on stacks using array

#include<iostream.h>

#include<conio.h>

#include<stdlib.h>

Page 45: C++ Project On Cricket Database System

#include<stdio.h>

#include<ctype.h>

#define MAX 100

char stack[MAX];

int top;

void push(char stack[],char vl,int &top);

char pop(char stack[], int &top);

void show_stack(char stack[], int top);

void main()

{ int choice;

char val, opt='Y';

top=-1;

clrscr();

do

{ cout<<"\n\t\tMain Menu"<<endl;

cout<<"\t1. Addition of stack"<<endl;

cout<<"\t2. Deletion from stack"<<endl;

cout<<"\t3. Traversal of stack"<<endl;

cout<<"\t4. Exit from Menu"<<endl;

cout<<"Enter your choice: "<<endl;

cin>>choice;

switch(choice)

{ case 1: do

{ cout<<"Enter the value to be added to be added in the stack: "<<endl;

cin>>val;

push(stack,val,top);

Page 46: C++ Project On Cricket Database System

cout<<"Do you want to add more element(Y/N)?: "<<endl;

cin>>opt;

} while(toupper(opt)=='Y');

break;

case 2: opt='Y';

do

{ val=pop(stack,top);

if (val!=-1)

cout<<"Value deleted from the stack is: "<<val<<endl;

cout<<"Do you want to delete more element(Y/N): "<<endl;

cin>>opt;

} while(toupper(opt)=='Y');

break;

case 3: show_stack(stack,top);

break;

case 4: exit(0);

}

}while(choice!=4);

}

void push(char stack[],char val,int &top)

{ if (top==MAX)

{ cout<<"Stack Overflow!"<<endl;

}

else

{ top=top+1;

stack[top]=val;

Page 47: C++ Project On Cricket Database System

}

}

char pop( char stack[],int &top)

{ char value;

if (top<0)

{ cout<<"Stack Underflow!"<<endl;

value=-1;

}

else

{ value=stack[top];

top=top-1;

}

return(value);

}

void show_stack(char stack[],int top)

{ int i;

i=top;

clrscr();

cout<<"The values are: ";

do

{ cout<<"\n"<<stack[i];

i=i-1;

}

while(i>=0);

}

OUTPUT

Page 48: C++ Project On Cricket Database System