Question

In: Computer Science

(1) Prompt the user for a title for data. Output the title. (1 pt) Ex: Enter...

(1) Prompt the user for a title for data. Output the title. (1 pt)

Ex:

Enter a title for the data:
Number of Novels Authored
You entered: Number of Novels Authored


(2) Prompt the user for the headers of two columns of a table. Output the column headers. (1 pt)

Ex:

Enter the column 1 header:
Author name
You entered: Author name

Enter the column 2 header:
Number of novels
You entered: Number of novels


(3) Prompt the user for data points. Data points must be in this format: string, int. Store the information before the comma into a string variable and the information after the comma into an integer. The user will enter -1 when they have finished entering data points. Output the data points. Store the string components of the data points in a vector of strings. Store the integer components of the data points in a vector of integers. (4 pts)

Ex:

Enter a data point (-1 to stop input):
Jane Austen, 6
Data string: Jane Austen
Data integer: 6


(4) Perform error checking for the data point entries. If any of the following errors occurs, output the appropriate error message and prompt again for a valid data point.

  • If entry has no comma
    • Output: Error: No comma in string. (1 pt)
  • If entry has more than one comma
    • Output: Error: Too many commas in input. (1 pt)
  • If entry after the comma is not an integer
    • Output: Error: Comma not followed by an integer. (2 pts)


Ex:

Enter a data point (-1 to stop input):
Ernest Hemingway 9
Error: No comma in string.

Enter a data point (-1 to stop input):
Ernest, Hemingway, 9
Error: Too many commas in input.

Enter a data point (-1 to stop input):
Ernest Hemingway, nine
Error: Comma not followed by an integer.

Enter a data point (-1 to stop input):
Ernest Hemingway, 9
Data string: Ernest Hemingway
Data integer: 9


(5) Output the information in a formatted table. The title is right justified with a setw() value of 33. Column 1 has a setw() value of 20. Column 2 has a setw() value of 23. (3 pts)

Ex:

        Number of Novels Authored
Author name         |       Number of novels
--------------------------------------------
Jane Austen         |                      6
Charles Dickens     |                     20
Ernest Hemingway    |                      9
Jack Kerouac        |                     22
F. Scott Fitzgerald |                      8
Mary Shelley        |                      7
Charlotte Bronte    |                      5
Mark Twain          |                     11
Agatha Christie     |                     73
Ian Flemming        |                     14
J.K. Rowling        |                     14
Stephen King        |                     54
Oscar Wilde         |                      1


(6) Output the information as a formatted histogram. Each name is right justified with a setw() value of 20. (4 pts)

Ex:

         Jane Austen ******
     Charles Dickens ********************
    Ernest Hemingway *********
        Jack Kerouac **********************
 F. Scott Fitzgerald ********
        Mary Shelley *******
    Charlotte Bronte *****
          Mark Twain ***********
     Agatha Christie *************************************************************************
        Ian Flemming **************
        J.K. Rowling **************
        Stephen King ******************************************************
         Oscar Wilde *

_________________________________

given code: Main.cpp

#include <iostream>
#include <string>
#include <vector>
//FIXME: stringstream library
//FIXME: stream manipulation library
using namespace std;

int main() {

/* Type code here. */

return 0;
}

please help i am stuck on this.

Solutions

Expert Solution

SOLUTION-
I have solve the problem in python code with comments and screenshot for easy understanding :)

CODE-

//c++ code
//header files
#include <iostream>
#include <vector>
#include <iomanip>
using namespace std;
//main
int main()
{
    //declaration of vectors
vector<string> dataStr;
vector<int> dataPoint;
string title, header1, header2,s;
//ask for input
cout<<"Enter a title for the data: ";
       getline(cin,title); //get title
       cout<<"You entered: "<<title<<endl;
       cout<<"Enter the column 1 header: ";
       getline(cin,header1);   //get header name
       cout<<"You entered: "<<header1<<endl;
       cout<<"<Enter the column 2 header: ";
       getline(cin,header2);   //get column 2 header
       cout<<"You entered: "<<header2<<endl;
       while(true){ //loop until user give -1 to exit
       cout<<"Enter a data point (-1 to stop input): ";
       getline(cin,s);
       if(s == "-1"){ //if '-1' than break
           break;
       }
       else{ //else read
       int commaCount = 0;
       for(int i=0; i<s.length(); i++){
       if(s[i] == ',')
       commaCount++;
       }
       if(commaCount == 0){
       cout<<"Error: No comma in string."<<endl;
       }
       else if(commaCount > 1){
       cout<<"Error: Too many commas in input."<<endl;
       }
       else{
       string firstWord = s.substr(0, s.find(","));
string secondWord = s.substr(s.find(",")+1, s.length()-1);
firstWord.erase(0, firstWord.find_first_not_of(' '));
secondWord.erase(0, secondWord.find_first_not_of(' '));
int countNumbers = 0;
for(int i=0; i<secondWord.length(); i++){
if(secondWord[i] >='0' && secondWord[i] <= '9'){
countNumbers++;
}
}
if(countNumbers == secondWord.length()){
                   dataPoint.push_back(atoi(secondWord.c_str()));
//dataPoint.push_back(stoi(secondWord));
                   dataStr.push_back(firstWord);
                   cout<<"Data string: "<<firstWord<<endl;
                   cout<<"Data integer: "<<secondWord<<endl;
}
else{
cout<<"Error: Comma not followed by an integer."<<endl;
}
       }
       }
    
       }
       //allignment
cout<<right<<setw(33)<<title<<endl;
cout<<left<<setw(20)<<header1<<"|"<<right<<setw(23)<<header2<<endl;
cout<<"-------------------------------------"<<endl;
for(int i=0; i<dataStr.size(); i++){
cout<<left<<setw(20)<<dataStr[i]<<"|"<<right<<setw(23)<<dataPoint[i]<<endl;
}
cout<<endl<<endl;
for(int i=0; i<dataStr.size();i++){
           cout<<dataStr[i]<<" ";
           for(int j=0; j<dataPoint[i];j++){
               cout<<"*";
           }
       cout<<endl;
       }
return 0;
}


SCREENSHOT-


IF YOU HAVE ANY DOUBT PLEASE COMMENT DOWN BELOW I WILL SOLVE IT FOR YOU:)
----------------PLEASE RATE THE ANSWER-----------THANK YOU!!!!!!!!----------


Related Solutions

use c++ (1) Prompt the user for a title for data. Output the title. (1 pt)...
use c++ (1) Prompt the user for a title for data. Output the title. (1 pt) Ex: Enter a title for the data: Number of Novels Authored You entered: Number of Novels Authored (2) Prompt the user for the headers of two columns of a table. Output the column headers. (1 pt) Ex: Enter the column 1 header: Author name You entered: Author name Enter the column 2 header: Number of novels You entered: Number of novels (3) Prompt the...
JAVA Program: Data visualization (1) Prompt the user for a title for data. Output the title....
JAVA Program: Data visualization (1) Prompt the user for a title for data. Output the title. Ex: Enter a title for the data: Number of Novels Authored You entered: Number of Novels Authored (2) Prompt the user for the headers of two columns of a table. Output the column headers. Ex: Enter the column 1 header: Author name You entered: Author name Enter the column 2 header: Number of novels You entered: Number of novels (3) Prompt the user for...
10.8 LAB*: Program: Data visualization (1) Prompt the user for a title for data. Output the...
10.8 LAB*: Program: Data visualization (1) Prompt the user for a title for data. Output the title. (1 pt) Ex: Enter a title for the data: Number of Novels Authored You entered: Number of Novels Authored (2) Prompt the user for the headers of two columns of a table. Output the column headers. (1 pt) Ex: Enter the column 1 header: Author name You entered: Author name Enter the column 2 header: Number of novels You entered: Number of novels...
Prompt the user to enter an integer Then, prompt the user to enter a positive integer...
Prompt the user to enter an integer Then, prompt the user to enter a positive integer n2. Print out all the numbers that are entered after the last occurrence of n1 and whether each one is even or odd If n1 does not occur or there are no values after the last occurrence of n1, print out the message as indicated in the sample runs below. Sample: Enter n1: -2 Enter n2: 7 Enter 7 values: -2 3 3 -2...
9.6 Ch 9 Program: Data visualization (in C) (1) Prompt the user for a title for...
9.6 Ch 9 Program: Data visualization (in C) (1) Prompt the user for a title for data. Output the title. (1 pt) Ex: Enter a title for the data: Number of Novels Authored You entered: Number of Novels Authored (2) Prompt the user for the headers of two columns of a table. Output the column headers. (1 pt) Ex: Enter the column 1 header: Author name You entered: Author name Enter the column 2 header: Number of novels You entered:...
*******************In Python please******************* (1) Prompt the user to enter a string of their choosing. Store the...
*******************In Python please******************* (1) Prompt the user to enter a string of their choosing. Store the text in a string. Output the string. (1 pt) Enter a sample text: we'll continue our quest in space. there will be more shuttle flights and more shuttle crews and, yes; more volunteers, more civilians, more teachers in space. nothing ends here; our hopes and our journeys continue! You entered: we'll continue our quest in space. there will be more shuttle flights and more...
Create in Java a program that will prompt the user to enter aweight for a...
Create in Java a program that will prompt the user to enter a weight for a patient in kilograms and that calculates both bolus and infusion rates based on weight of patient in an interactive GUI application, label it AMI Calculator. The patients weight will be the only entry from the user. Use 3999 as a standard for calculating BOLUS: To calculate the BOLUS you will multiply 60 times the weight of the patient for a total number. IF the...
Create in java a program that will prompt the user to enter a weight for a...
Create in java a program that will prompt the user to enter a weight for a patient in kilograms and that calculates infusion rates based on weight of patient in an interactive GUI application, label it HEPCALC. The patients’ weight will be the only entry from the user. To calculate the infusion rate you will multiply 12 times the weight divided by 50 for a total number. The end result will need to round up or down the whole number....
IN C This assignment is to write a program that will prompt the user to enter...
IN C This assignment is to write a program that will prompt the user to enter a character, e.g., a percent sign (%), and then the number of percent signs (%) they want on a line. Your program should first read a character from the keyboard, excluding whitespaces; and then print a message indicating that the number must be in the range 1 to 79 (including both ends) if the user enters a number outside of that range. Your program...
Assignment in C: prompt the user to enter secret message that is terminated by presding Enter....
Assignment in C: prompt the user to enter secret message that is terminated by presding Enter. You can assume that the the length of this message will be less than 100 characters. You will then parae this message, character by character, converting them to lower case, and find corresponding characters in the words found in the key text word array. Once a character match is found, you will write the index of the word and the index of the character...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT