Added codes for assignment 31 and 32 given by ma'am

This commit is contained in:
K 2023-10-19 23:13:51 +05:30
parent 7d0dce2d87
commit 0f46df2318
Signed by: notkshitij
GPG Key ID: C5B8BC7530F8F43F
2 changed files with 400 additions and 0 deletions

View File

@ -0,0 +1,210 @@
#include <iostream>
using namespace std;
#define SIZE 5
class Dequeue
{
int a[10], front, rear, count;
public:
Dequeue()
{
front = -1;
rear = -1;
count = 0;
}
void addBegin(int item)
{
int i;
if (front == -1)
{
front++;
rear++;
a[rear] = item;
count++;
}
else if (rear >= SIZE - 1)
{
cout << "\nInsertion is not possible,overflow!!!!";
}
else
{
for (i = count; i >= 0; i--)
{
a[i] = a[i - 1];
}
a[i] = item;
count++;
rear++;
}
}
void addEnd(int item)
{
if (front == -1)
{
front++;
rear++;
a[rear] = item;
count++;
}
else if (rear >= SIZE - 1)
{
cout << "\nInsertion is not possible,overflow!!!";
return;
}
else
{
a[++rear] = item;
}
}
void deleteFront()
{
if (front == -1)
{
cout << "Deletion is not possible:: Dequeue is empty";
return;
}
else
{
if (front == rear)
{
front = rear = -1;
return;
}
cout << "The deleted element is " << a[front];
front = front + 1;
}
}
void deleteEnd()
{
if (front == -1)
{
cout << "Deletion is not possible:Dequeue is empty";
return;
}
else
{
if (front == rear)
{
front = rear = -1;
}
cout << "The deleted element is " << a[rear];
rear = rear - 1;
}
}
void display()
{
for (int i = front; i <= rear; i++)
{
cout << a[i] << " ";
}
}
};
int main()
{
int c, item;
Dequeue d1;
do
{
cout << "\n\n****DEQUEUE OPERATION****\n";
cout << "\n1-Insert at beginning";
cout << "\n2-Insert at end";
cout << "\n3_Display";
cout << "\n4_Deletion from front";
cout << "\n5-Deletion from rear";
cout << "\n6_Exit";
cout << "\nEnter your choice<1-6>:";
cin >> c;
switch (c)
{
case 1:
cout << "Enter the element to be inserted:";
cin >> item;
d1.addBegin(item);
break;
case 2:
cout << "Enter the element to be inserted:";
cin >> item;
d1.addEnd(item);
break;
case 3:
d1.display();
break;
case 4:
d1.deleteFront();
break;
case 5:
d1.deleteEnd();
break;
case 6:
exit(1);
break;
default:
cout << "Invalid choice";
break;
}
} while (c != 7);
return 0;
}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~ Output ~~~~~~~~~~~~~~~~~~~~~~~~~
****DEQUEUE OPERATION****
1-Insert at beginning
2-Insert at end
3_Display
4_Deletion from front
5-Deletion from rear
6_Exit
Enter your choice<1-6>:1
Enter the element to be inserted:10
****DEQUEUE OPERATION****
1-Insert at beginning
2-Insert at end
3_Display
4_Deletion from front
5-Deletion from rear
6_Exit
Enter your choice<1-6>:2
Enter the element to be inserted:50
****DEQUEUE OPERATION****
1-Insert at beginning
2-Insert at end
3_Display
4_Deletion from front
5-Deletion from rear
6_Exit
Enter your choice<1-6>:4
The deleted element is 10
****DEQUEUE OPERATION****
1-Insert at beginning
2-Insert at end
3_Display
4_Deletion from front
5-Deletion from rear
6_Exit
Enter your choice<1-6>:6
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

View File

@ -0,0 +1,190 @@
#include <iostream>
using namespace std;
#define size 5
class pizza
{
int porder[size];
int front, rear;
public:
pizza()
{
front = rear = -1;
}
int qfull()
{
if (front == (rear + 1) % size)
return 1;
else
return 0;
}
int qempty()
{
if (front == -1)
return 1;
else
return 0;
}
void accept_order(int item)
{
if (qfull())
cout << "\nVery Sorry !!!! No more orders....\n";
else
{
if (front == -1)
{
front = rear = 0;
}
else
{
rear = (rear + 1) % size;
}
porder[rear] = item;
}
}
void make_payment(int n)
{
int item;
char ans;
if (qempty())
cout << "\nSorry !!! order is not there...\n";
else
{
cout << "\nDeliverd orders as follows...\n";
for (int i = 0; i < n; i++)
{
item = porder[front];
if (front == rear)
{
front = rear = -1;
}
else
{
front = (front + 1) % size;
}
cout << "\t" << item;
}
cout << "\nTotal amount to pay : " << n * 100;
cout << "\nThank you visit Again....\n";
}
}
void order_in_queue()
{
int temp;
if (qempty())
{
cout << "\nSorry !! There is no pending order...\n";
}
else
{
temp = front;
cout << "\nPending Order as follows..\n";
while (temp != rear)
{
cout << "\t" << porder[temp];
temp = (temp + 1) % size;
}
cout << "\t" << porder[temp];
}
}
};
int main()
{
pizza p1;
int ch, k, n;
do
{
cout << "\n\t***** Welcome To Pizza Parlor *******\n";
cout << "\n1.Accept order\n2.Make_payment\n3.Pending Orders\nEnter u r choice:";
cin >> ch;
switch (ch)
{
case 1:
cout << "\nWhich Pizza would do u like to have today\n";
cout << "\n1.Veg Soya Pizza\n2.Veg butter Pizza\n3.Egg_Pizza";
cout << "\nPlease enter your order: ";
cin >> k;
p1.accept_order(k);
break;
case 2:
cout << "\nHow many Pizza ?";
cin >> n;
p1.make_payment(n);
break;
case 3:
cout << "\n Following orders are in queue to deliver....as follows..\n";
p1.order_in_queue();
break;
}
} while (ch != 4);
return 0;
}
/* ~~~~~~~~~~~~~~~~~~~~~~~ Output ~~~~~~~~~~~~~~~~~~~~~~~
***** Welcome To Pizza Parlor *******
1.Accept order
2.Make_payment
3.Pending Orders
Enter u r choice:1
Which Pizza would do u like to have today
1.Veg Soya Pizza
2.Veg butter Pizza
3.Egg_Pizza
Please enter your order: 1
***** Welcome To Pizza Parlor *******
1.Accept order
2.Make_payment
3.Pending Orders
Enter u r choice:2
How many Pizza ?10
Deliverd orders as follows...
1 2 2 2 2 2 2 2 2 2
Total amount to pay : 1000
Thank you visit Again....
***** Welcome To Pizza Parlor *******
1.Accept order
2.Make_payment
3.Pending Orders
Enter u r choice:3
Following orders are in queue to deliver....as follows..
Sorry !! There is no pending order...
***** Welcome To Pizza Parlor *******
1.Accept order
2.Make_payment
3.Pending Orders
Enter u r choice:1
Which Pizza would do u like to have today
1.Veg Soya Pizza
2.Veg butter Pizza
3.Egg_Pizza
Please enter your order: 3
***** Welcome To Pizza Parlor *******
1.Accept order
2.Make_payment
3.Pending Orders
Enter u r choice:
4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */