c++ Write a program that reads in names from stdin. Stop reading names when the
ID: 3574475 • Letter: C
Question
c++
Write a program that reads in names from stdin. Stop reading names when the name is "***DONE***". There will not be more than 100 names, although there may be way fewer. Next, display the second half of the list as shown below:
Reading: Charles
Reading: Debbie
Reading: Larry
Reading: Jerry
Reading: Elaine
Reading: Frank
Reading: George
Reading: Harry
Reading: Adam
Reading: Igor
Reading: Betty Ann
Reading: ***DONE***
There are 11 names in the list
Listing names 5 through 10
->Frank
->George
->Harry
->Adam
->Igor
->Betty Ann
NOTE: Round down if necessary when figuring where the “middle” is; i.e., half of 11 is 5.5, so start the list from 5 as shown in the example above. Remember that the first array entry is slot zero.
ALSO NOTE: The string ***DONE*** must not appear when displaying the second half of the list.
Explanation / Answer
// C++ code
#include <iostream>
#include <string.h>
#include <cstring>
using namespace std;
int main()
{
string names[100];
string name;
int size = 0;
while(true)
{
cout << "Reading: ";
getline(cin,name);
if(strcmp(name.c_str(),"***DONE***") == 0)
break;
else
names[size] = name;
size++;
}
cout << "There are " << size << " names in the list ";
cout << "Listing names " << (size/2) << " through " << size << endl;
for (int i = size/2; i < size ; ++i)
{
cout << "-> " << names[i] << endl;
}
return 0;
}
/*
output:
Reading: Charles
Reading: Debbie
Reading: Larry
Reading: Jerry
Reading: Elaire
Reading: Frank
Reading: George
Reading: Harry
Reading: Adam
Reading: Igor
Reading: Betty Ann
Reading: ***DONE***
There are 11 names in the list
Listing names 5 through 11
-> Frank
-> George
-> Harry
-> Adam
-> Igor
-> Betty Ann
*/
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.