blob: ebf1f800ac09a0ee4274a0b138dd0d5463a82afc (
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
// BlankConsoleLab.cpp : This file contains the 'main' function. Program execution begins and ends there.
//
#include <iostream>
#include <iomanip>
#include <fstream>
#include <string>
using namespace std;
using std::cout;
using std::cin;
using std::endl;
using std::setw;
void Output_Extra_Stats(int total_people, double fares[50]);
int main()
{
// Create a text file
ofstream MyWriteFile("filename.txt");
// Write to the file
MyWriteFile << "1 2 3 4 5 6";
// Close the file
MyWriteFile.close();
double taxi_trips[50][8];
cout << "Enter the file you'd like to read with the extension";
string filename;
cin >> filename;
cout << endl;
int start_point;
int end_point;
int passengers;
double distance;
double fare_amount;
double toll_amount;
std::ifstream input;
input.open(filename);
int total_trips = 0;
if (input.is_open()) {
while (input >> start_point >> end_point >> passengers >> distance >> fare_amount >> toll_amount) {
//Set start point
taxi_trips[total_trips][0] = start_point;
taxi_trips[total_trips][1] = end_point;
taxi_trips[total_trips][2] = passengers;
taxi_trips[total_trips][3] = distance;
taxi_trips[total_trips][4] = fare_amount;
taxi_trips[total_trips][5] = toll_amount;
taxi_trips[total_trips][6] = 0.0;
taxi_trips[total_trips][7] = 0.0;
total_trips++;
}
for (int i = 0; i < total_trips; i++) {
taxi_trips[i][6] = taxi_trips[i][4] + taxi_trips[i][5];
if (taxi_trips[i][3] != 0) {
taxi_trips[i][7] = taxi_trips[i][6] / taxi_trips[i][3];
taxi_trips[i][7] = ceil(taxi_trips[i][7] * 100.0) / 100.0;
}
}
int total_people = 0;
double fares[50];
for (int i = 0; i < 50; i++) {
fares[i] = 0;
}
for (int i = 0; i < total_trips; i++) {
total_people += taxi_trips[i][2];
fares[i] = taxi_trips[i][6];
}
cout << setw(10) << "Trip#" << setw(10) << "# ppl" << setw(10) << "Dist." << setw(10) << "Fare" << setw(10) << "Toll" << setw(10) << "Total" << setw(10) << "Cost/MI" << endl;
for (int i = 0; i < total_trips; i++) {
cout << setw(4) << setfill(' ') << " " << setw(3) << setfill('0') << taxi_trips[i][0] << setw(3) << setfill('0') << taxi_trips[i][1] << setw(10)
<< setfill(' ') << taxi_trips[i][2] << setw(10) << taxi_trips[i][3] << setw(10) << taxi_trips[i][4] << setw(10) << taxi_trips[i][5] << setw(10)
<< taxi_trips[i][6] << setw(10) << taxi_trips[i][7] << endl;
}
Output_Extra_Stats(total_people, fares);
}
}
void Output_Extra_Stats(int total_people, double fares[50]) {
double total_fares = 0.0;
for (int i = 0; i < 50; i++) {
total_fares += fares[i];
}
int average_cost_per_person = total_fares / total_people;
cout << endl;
cout << "People Transported: " << total_people << endl;
cout << "Total Paid: " << total_fares << endl;
cout << "Average Cost Per Person: " << average_cost_per_person << endl;
}
/*
Pseudocode
main(){
taxi_trips[50][8]
read the file
assign each list to an item in taxi_trips. Leaving the last two entries at 0.0
total_trips = amount of trips counted in file.
for each trip in the file
set the second to last item to the fare + toll
check if the distance of the trip != 0
set the last item to the fare / distance
int total_people = 0
double fares[50]
for each trip in the file (using i)
total_people += [i][2]
fares[i] = taxi_trips[i][6]
print the following from each trip in order
# ppl -> Dist. -> Fare -> Toll -> Total -> Cost/MI
Output_Extra_Stats(total_people, fares)
}
Output_Extra_Stats(int total_people, double fares[50]){
double total_fares = 0;
for the amount of fares
total_fares += fares[i]
double average_cost_per_person = total_fares / total_people
print total people, total paid, then average cost per person
}
*/
|