Here is the question: Write a program that creates a queue of Strings and allows the input of an integer value n, followed by n names to be placed in the queue. Then the program should execute a loop that performs the following:
1 It displays the name in the front of the queue and asks the user to specify a number of names to be deleted. The user specifies a value and it deletes that number of names.
2 Each name deleted is displayed on the screen.
3 The two steps are continued until the queue is empty.
My problem here is that when i run the code i enter 3 names. But when it comes to delet the names if i enter 3 all the will be delet and the program works correctly but if i enter 1 so that i try to delete 1 by one it shows me the same name that is being deleted each time and when the last name is deleted the program stop working. Any help how i could correct it?
here are my codes:
#include <iostream>
#include <queue>
#include <string>
using namespace std;
int main()
{
int n,b=1;
string x[10000];
int i,c;
cout<<"Enter the number of names:";
cin>>n;
queue <string> names;
cout<<"Enter the names to be placed in the queue:"<<endl;
for(i=0;i<n;i++){
cout<<b<<".";
b++ ;
cin>>x[i];
names.push(x[i]);
}
for(i=0;i<n;i++){
cout<< "The person at the front of the queue is " <<names.front()<<endl;
cout<< "Enter a number of names to be deleted: ";
cin>>c;
for(i=0;i<c;i++){
names.pop();
cout<< "The person got deleted is " <<x[i]<<endl;
}
}
cout << "There are currently " << names.size () << " people in the queue" << endl;
return 0;
}