(IT SHOULD BE IN C++) You will design a program to keep track of a restaurants w
ID: 3918987 • Letter: #
Question
(IT SHOULD BE IN C++)
You will design a program to keep track of a restaurants waitlist using a queue implemented with a linked list.
1. Create a class named waitList that can store a name and number of guests. Use constructors to automatically initialize the member variables.
2. Add the following operations to your program:
· Return the first person in the queue
· Return the last person in the queue
· Add a person to the queue
· Delete a person from the queue
3. Create a main program to test your class. Your main program should contain the following options.
· Add a guest (adds the reservation name and number of guests)
· Delete a guest (the user must give you the name to delete, the list may be empty or the guest may not be in the list)
· Show last guest waiting (return NONE if the queue is empty)
· Show first guest waiting (return NONE if the queue is empty)
· Exit
Explanation / Answer
#include<iostream>
#include<vector>
using namespace std;
//class waitlist
class waitList
{
public:
string name;
int n;//number of guests
//constructor...
waitList(string s,int num)
{
name=s;
n = num;
}
};
//operations..
//method to add person to queue
vector<waitList> Add(vector<waitList> v)
{
string s;
int n;
//reading input
cout<<"Enter reservation name:";
cin>>s;
cout<<"Enter number of guests:";
cin>>n;
waitList w(s,n);
//adding to vector..
v.push_back(w);
return v;
}
//method to compare strings..
bool compare(string s1,string s2)
{
int len1=0,len2=0;
while(s1[len1]!='')len1++;//finding length of string1
while(s2[len2]!='')len2++;//finding length of string2
if(len1!=len2)return false;
len1--;;
while(len1>=0)
{
if(s1[len1]!=s2[len1])return false;
len1--;
}
return true;
}
//deleting from vector...
vector<waitList> Delete(vector<waitList> v)
{
string s;
//reading input
cout<<"Enter reservation name to delete:";
cin>>s;
int i=0,len = v.size();
while(i<len)//matching all strings in vector
{
if(compare(v.at(i).name,s))
break;
i++;
}
if(i<len)
{
cout<<" Element to be deleted :"<<v.at(i).name<<endl;
v.erase(v.begin()+i);
}
else
{
cout<<" Element not found ";
}
return v;
}
//method to return the front element
//if empty then sends none
string Front(vector<waitList> v)
{
int len = v.size();
if(len>0)
return v.at(0).name;//returning front name
else
return "None";//if list is empty then
}
//method to return the Last element
//if empty then sends none
string Last(vector<waitList> v)
{
int len = v.size();
if(len>0)
return v.at(len-1).name;//returning last name
else
return "None";//if list is empty then
}
//tester method..
int main()
{
vector<waitList> v;//queue
int c;
while(1)
{
cout<<" ---------------- ";
cout<<"1:Add a guest 2:Delete a guest 3:Show last guest 4:Show first guest 5:Exit ";
cout<<" ---------------- ";
cout<<"Enter ur choice:";
cin>>c;
if(c==1)
{
v=Add(v);
}
else if(c==2)
{
v=Delete(v);
}
else if(c==3)
{
cout<<" Last guest in the list is: "<<Last(v);
}
else if(c==4)
{
cout<<" First guest in the list is: "<<Front(v);
}
else break;
}
return 0;
}
output:
----------------
1:Add a guest
2:Delete a guest
3:Show last guest
4:Show first guest
5:Exit
----------------
Enter ur choice:3
Last guest in the list is: None
----------------
1:Add a guest
2:Delete a guest
3:Show last guest
4:Show first guest
5:Exit
----------------
Enter ur choice:4
First guest in the list is: None
----------------
1:Add a guest
2:Delete a guest
3:Show last guest
4:Show first guest
5:Exit
----------------
Enter ur choice:1
Enter reservation name:surya
Enter number of guests:3
----------------
1:Add a guest
2:Delete a guest
3:Show last guest
4:Show first guest
5:Exit
----------------
Enter ur choice:3
Last guest in the list is: surya
----------------
1:Add a guest
2:Delete a guest
3:Show last guest
4:Show first guest
5:Exit
----------------
Enter ur choice:4
First guest in the list is: surya
----------------
1:Add a guest
2:Delete a guest
3:Show last guest
4:Show first guest
5:Exit
----------------
Enter ur choice:1
Enter reservation name:gopi
Enter number of guests:3
----------------
1:Add a guest
2:Delete a guest
3:Show last guest
4:Show first guest
5:Exit
----------------
Enter ur choice:3
Last guest in the list is: gopi
----------------
1:Add a guest
2:Delete a guest
3:Show last guest
4:Show first guest
5:Exit
----------------
Enter ur choice:4
First guest in the list is: surya
----------------
1:Add a guest
2:Delete a guest
3:Show last guest
4:Show first guest
5:Exit
----------------
Enter ur choice:1
Enter reservation name:hero
Enter number of guests:2
----------------
1:Add a guest
2:Delete a guest
3:Show last guest
4:Show first guest
5:Exit
----------------
Enter ur choice:3
Last guest in the list is: hero
----------------
1:Add a guest
2:Delete a guest
3:Show last guest
4:Show first guest
5:Exit
----------------
Enter ur choice:4
First guest in the list is: surya
----------------
1:Add a guest
2:Delete a guest
3:Show last guest
4:Show first guest
5:Exit
----------------
Enter ur choice:2
Enter reservation name to delete:sur
Element not found
----------------
1:Add a guest
2:Delete a guest
3:Show last guest
4:Show first guest
5:Exit
----------------
Enter ur choice:2
Enter reservation name to delete:surya
Element to be deleted :surya
----------------
1:Add a guest
2:Delete a guest
3:Show last guest
4:Show first guest
5:Exit
----------------
Enter ur choice:3
Last guest in the list is: hero
----------------
1:Add a guest
2:Delete a guest
3:Show last guest
4:Show first guest
5:Exit
----------------
Enter ur choice:1
Enter reservation name:mani
Enter number of guests:2
----------------
1:Add a guest
2:Delete a guest
3:Show last guest
4:Show first guest
5:Exit
----------------
Enter ur choice:4
First guest in the list is: gopi
----------------
1:Add a guest
2:Delete a guest
3:Show last guest
4:Show first guest
5:Exit
----------------
Enter ur choice:2
Enter reservation name to delete:gopi
Element to be deleted :gopi
----------------
1:Add a guest
2:Delete a guest
3:Show last guest
4:Show first guest
5:Exit
----------------
Enter ur choice:4
First guest in the list is: hero
----------------
1:Add a guest
2:Delete a guest
3:Show last guest
4:Show first guest
5:Exit
----------------
Enter ur choice:3
Last guest in the list is: mani
----------------
1:Add a guest
2:Delete a guest
3:Show last guest
4:Show first guest
5:Exit
----------------
Enter ur choice:2
Enter reservation name to delete:mani
Element to be deleted :mani
----------------
1:Add a guest
2:Delete a guest
3:Show last guest
4:Show first guest
5:Exit
----------------
Enter ur choice:3
Last guest in the list is: hero
----------------
1:Add a guest
2:Delete a guest
3:Show last guest
4:Show first guest
5:Exit
----------------
Enter ur choice:4
First guest in the list is: hero
----------------
1:Add a guest
2:Delete a guest
3:Show last guest
4:Show first guest
5:Exit
----------------
Enter ur choice:2
Enter reservation name to delete:hero
Element to be deleted :hero
----------------
1:Add a guest
2:Delete a guest
3:Show last guest
4:Show first guest
5:Exit
----------------
Enter ur choice:3
Last guest in the list is: None
----------------
1:Add a guest
2:Delete a guest
3:Show last guest
4:Show first guest
5:Exit
----------------
Enter ur choice:4
First guest in the list is: None
----------------
1:Add a guest
2:Delete a guest
3:Show last guest
4:Show first guest
5:Exit
----------------
Enter ur choice:5
Process exited normally.
Press any key to continue . . .
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.