Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Given the following C++ program below. Complete the program by wrting the functions InputRideData, AvgDuration, CountGender, AvgAgeOfGender, and SearchForBikeID. What each function should contain is

Given the following C++ program below. Complete the program by wrting the functions InputRideData, AvgDuration, CountGender, AvgAgeOfGender, and SearchForBikeID. What each function should contain is in the comment above the name of the function as shown. The two filnames are data1.txt and data2.txt. The files contain in a single row; the bikeid, duration, gender, and birthyear. Data1.txt contains the following:

3808 311 1 1984 1756 309 1 1991 253 524 1 1973 253 423 1 1973 881 477 1 1990 519 535 1 1972 1756 321 1 1993

Data2.txt contains the following data:

609 1045 1 1993 1207 1035 1 1993 4369 1166 1 1988 2703 1348 2 1992 3828 1101 1 1987 4377 199 1 1984 3115 439 1 1984

After filling out the functions, run the program and produce your output.

#include #include #include #include #include #include

using namespace std;

// // InputRideData // // Inputs the ride data from the given file, storing each ride across the // 4 arrays. The # of rides stored into the arrays is returned. // int InputRideData(string filename, int bikeids[], int durations[], int genders[], int birthyears[]) { // // TODO: // return 0; }

// // AvgDuration // // Returns the average ride duration. // double AvgDuration(int durations[], int N) { // // TODO: // return 0.0; }

// // CountGender // // Counts and returns the # of riders that identify as the // given gender. // int CountGender(int gender, int genders[], int N) { // // TODO: // return 0; }

// // AvgAgeOfGender // // Computes the average age of riders that identify as the // given gender. The age of a rider is roughly determined // by the current year 2018 - their birthyear. // double AvgAgeOfGender(int gender, int genders[], int birthyears[], int N) { // // TODO: // return 0.0; }

// // SearchForBikeID // // Searches for the given bikeid to see if it was ridden at least once. // Returns true if so, false if not. // bool SearchForBikeID(int bikeid, int bikeids[], int N) { // // TODO: // return false; }

// // Main: // int main() { int bikeids[5000]; int durations[5000]; int genders[5000]; int birthyears[5000]; int N; string filename;

cin >> filename;

cout << std::fixed; cout << std::setprecision(2);

cout << "** Divvy Ride Analysis **" << endl; cout << endl;

N = InputRideData(filename, bikeids, durations, genders, birthyears);

cout << "# of rides: " << N << endl;

double male = CountGender(1, genders, N); double female = CountGender(2, genders, N); double percentMale = (male / N) * 100.0; double percentFemale = (female / N) * 100.0;

cout << "% of male riders: " << percentMale << "%" << endl; cout << "% of female riders: " << percentFemale << "%" << endl;

double avg = AvgDuration(durations, N) / 60.0; cout << "Avg duration: " << avg << " mins" << endl;

double avgMaleAge = AvgAgeOfGender(1, genders, birthyears, N); double avgFemaleAge = AvgAgeOfGender(2, genders, birthyears, N);

cout << "Avg age of male riders: " << avgMaleAge << " years old" << endl; cout << "Avg age of female riders: " << avgFemaleAge << " years old" << endl;

// // allow user to search for a bike: // int bikeid;

cout << endl; cout << "Bike id? > "; cin >> bikeid;

while (bikeid > 0) { if (SearchForBikeID(bikeid, bikeids, N)) cout << bikeid << " was ridden" << endl; else cout << bikeid << " was *not* ridden" << endl;

cout << "Bike id? > "; cin >> bikeid; }

// // Done: // cout << endl; cout << "** Done **" << endl;

return 0; }

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

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

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

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

Get Started

Recommended Textbook for

Machine Learning And Knowledge Discovery In Databases European Conference Ecml Pkdd 2019 Wurzburg Germany September 16 20 2019 Proceedings Part 2 Lnai 11907

Authors: Ulf Brefeld ,Elisa Fromont ,Andreas Hotho ,Arno Knobbe ,Marloes Maathuis ,Celine Robardet

1st Edition

3030461467, 978-3030461461

More Books

Students also viewed these Databases questions