We need to create a queue of items defined by the following structure. struct Qu
ID: 3848939 • Letter: W
Question
We need to create a queue of items defined by the following structure.
struct QueueItem
{
string fname;
string lname;
double salary;
QueueItem *next;
};
Use the following class definition to create a queue.
class Queue
{
private:
QueueItem *front;
QueueItem *back;
bool isempty;
public:
Queue()
{
front=NULL;
back=NULL;
isempty=true;
}
void enque(QueueItem *item);
void deque();
};
Write definition for the enque and deque function. Use the following main function to test your code.
int main()
{
ifstream fin;
fin.open("HW3Data.dat");
Queue my_queue;
string fname, lname;
double salary;
QueueItem *item=new QueueItem;
while(fin>>fname>>lname>>salary)
{
item->fname=fname;
item->lname=lname;
item->salary=salary;
my_queue.enque(item);
}
for (int i=0;i<9;++i)
my_queue.deque();
return 0;
}
You must get the following output.
John Harris 50000
Lisa Smith 75000.5
Adam Johnson 68500.1
Sheila Smith 150000
Tristen Major 75800.8
Yannic Lennart 58000.6
Lorena Emil 43000
Tereza Santeri 48000
Queue is empty. Nothing to remove.
Explanation / Answer
Executable Code:
#include<iostream>
#include<string>
#include<fstream>
using namespace std;
struct QueueItem
{
string fname;
string lname;
double salary;
QueueItem *next;
};
class Queue
{
private:
QueueItem *front;
QueueItem *back;
bool isempty;
public:
Queue()
{
front=NULL;
back=NULL;
isempty=true;
}
void enque(QueueItem *item)
{
QueueItem *n=new QueueItem;
n->fname=item->fname;
n->lname=item->lname;
n->salary=item->salary;
n->next=NULL;
if(front==NULL)
{
front=n;
}
else
{
back->next=n;
}
back=n;
}
void deque()
{
if(front==NULL)
cout<<"Queue is empty. Nothing to remove"<<endl;
else
{
QueueItem *temp=front;
front=front->next;
cout<<temp->fname<<" "<<temp->lname<<" "<<temp->salary<<endl;
}
}
};
int main()
{
ifstream fin;
fin.open("HW3Data.txt");
Queue my_queue;
string fname, lname;
double salary;
QueueItem *item=new QueueItem;
while(fin>>fname>>lname>>salary)
{
item->fname=fname;
item->lname=lname;
item->salary=salary;
item->next=NULL;
my_queue.enque(item);
}
for (int i=0;i<9;++i)
my_queue.deque();
system("pause");
return 0;
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.