Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

(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 . . .