Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Classes/Streams - Marketing software In this programming assignment, youll identify the number of potential customers for a business. The starter program outputs the number of

Classes/Streams - Marketing software

In this programming assignment, youll identify the number of potential customers for a business. The starter program outputs the number of potential customers in a userentered age range given a file with peoples data.

1.Move the class Person to the separate files: person.h and person.cpp. Make sure you can still compile with separate files.

2. During file reading, the program isnt storing the gender or yearly income of the people. Instead, the default values are being printed. Fix the program to correctly set the data read from file.

The regions of the code that need to be fixed are marked with: FIXME Also set gender and yearly income

3.Allow the user to select the potential customers gender: male, female, or any. The program should now output only potential customers with the userspecified gender and age.

Update the GetUserInput function to prompt the user and store the users gender selection.

Also, create a function GetPeopleWithSpecificGender that returns only people with the userspecified gender.

Debugging suggestion: Use a function to print mains vector of Persons so that you can see who is in the vector after each function call. This technique may help debug the newly created function GetPeopleWithSpecificGender.

4.In addition to age and gender, allow the user to select the lower and upper range of a customers yearly income.

Update the GetUserInput function to prompt the user and store the users specified range. Also, create a function GetPeopleInIncomeRange that returns only people with the userspecified yearly income.

****The main should now look like the following code:

intmain(intargc,char*argv[]){ vectorpeople; boolhadError=false; intageLowerRange=0; intageUpperRange=0; stringgender=""; intyILowerRange=0; intyIUpperRange=0;

hadError=ReadPeopleFromFile(argc,argv,people); if(hadError){

return1;//indicateserror }

GetUserInput(ageLowerRange,ageUpperRange,gender,yILowerRange, yIUpperRange);

people=GetPeopleInAgeRange(people,ageLowerRange,ageUpperRange); people=GetPeopleWithSpecificGender(people,gender); people=GetPeopleInIncomeRange(people,yILowerRange,yIUpperRange);

cout<<" Numberofpotentialcustomers="<

return0; }

****Here is an example program execution with people.txt (user input is highlighted here for clarity):

Openingfilepeople.txt.

Age=20,gender=male,yearlyincome=25000

Age=25,gender=male,yearlyincome=45000

Age=23,gender=male,yearlyincome=30000

Age=16,gender=male,yearlyincome=7000

Age=30,gender=male,yearlyincome=55000

Age=22,gender=female,yearlyincome=27000

Age=26,gender=female,yearlyincome=44000

Age=21,gender=female,yearlyincome=37000

Age=18,gender=female,yearlyincome=17000

Age=29,gender=female,yearlyincome=62000

Finishedreadingfile.

Enterlowerrangeofage:24

Enterupperrangeofage:30

Entergender(male,female,orany):any

Enterlowerrangeofyearlyincome:43000

Enterupperrangeofyearlyincome:57000

Numberofpotentialcustomers=3

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access with AI-Powered Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions