summaryrefslogtreecommitdiff
path: root/BlankConsoleLab/BlankConsoleLab.cpp
blob: 1a2c811393ce0782a016a2cad53512d7c3d1c3a9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
// BlankConsoleLab.cpp : This file contains the 'main' function. Program execution begins and ends there.
//

#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>

using namespace std;

int pickUp[50];
int dropOff[50];
int passengerCount[50];

float distanceTravelled[50];
float fareAmount[50];
float tollAmount[50];
float costPerMile[50];

double totalFare[50];

int numEntries;

int ReadData(ifstream& file) {

    int t = -1;

    while (!file.eof()) {

        t++;

        file >> pickUp[t] >> dropOff[t] >> passengerCount[t] >> distanceTravelled[t] >> fareAmount[t] >> tollAmount[t];

        totalFare[t] = fareAmount[t] + tollAmount[t];

        if (distanceTravelled[t] != 0) {

            costPerMile[t] = fareAmount[t] / distanceTravelled[t];

        }
        else costPerMile[t] = 0;

    }

    t++;

    return t;

}

void GenerateTotals(int numEntries) {

    int totalPassengers = 0;
    double totalPaid = 0;

    for (int i = 0; i <= numEntries; i++) {

        totalPassengers += passengerCount[i];
        totalPaid += totalFare[i];

    }

    cout << "TOTAL PASSENGERS: " << totalPassengers << endl;
    cout << "TOTAL PAID: $" << totalPaid << endl;
    cout << "COST PER PERSON: $" << totalPaid / totalPassengers << endl;
    cout << "TOTAL TRIPS: " << numEntries << endl;

}

int main()
{

    ifstream inFile;
    string fileName;

    cout << fixed << setprecision(2);

    cout << "Please enter your data file name with the .txt extension:" << endl;
    cin >> fileName;

    inFile.open(fileName);

    if (inFile.is_open()) {
        cout << "Opened " << fileName << endl;
    }
    else {
        cout << "Failed to open " << fileName << endl;
    }

    int numEntries = ReadData(inFile);

    GenerateTotals(numEntries);

    cout << left << setw(15) << "PICKUP ST."
        << setw(15) << "DROPOFF ST." << setw(15) << "# PASSENGERS"
        << setw(15) << "DISTANCE" << setw(15) << "FARE"
        << setw(15) << "TOLL" << setw(15) << "TOTAL"
        << setw(15) << "$/MILE" << endl;

    for (int i = 0; i < numEntries; i++) {

        cout << left << setw(15) << pickUp[i]
            << setw(15) << dropOff[i] << setw(15) << passengerCount[i]
            << setw(15) << distanceTravelled[i] << setw(15) << fareAmount[i]
            << setw(15) << tollAmount[i] << setw(15) << totalFare[i]
            << setw(15) << costPerMile[i] << endl;

    }

}