diff options
| author | Trevor Bouchillon <[email protected]> | 2022-11-29 20:16:13 -0800 |
|---|---|---|
| committer | Trevor Bouchillon <[email protected]> | 2022-11-29 20:16:13 -0800 |
| commit | 3c2c81ce8cd02b611216fd75ea65802bdeb07e75 (patch) | |
| tree | 2c49ed9190908670bc61254c1d9b38c11887f188 | |
| parent | added user input for file loc (diff) | |
| download | archived-cst116-lab3-daboochillin-3c2c81ce8cd02b611216fd75ea65802bdeb07e75.tar.xz archived-cst116-lab3-daboochillin-3c2c81ce8cd02b611216fd75ea65802bdeb07e75.zip | |
added output
| -rw-r--r-- | BlankConsoleLab/Lab3.cpp | 133 | ||||
| -rw-r--r-- | output.txt | 55 |
2 files changed, 188 insertions, 0 deletions
diff --git a/BlankConsoleLab/Lab3.cpp b/BlankConsoleLab/Lab3.cpp new file mode 100644 index 0000000..4bee218 --- /dev/null +++ b/BlankConsoleLab/Lab3.cpp @@ -0,0 +1,133 @@ +//Lab 3 +//Trevor Bouchillon +// + +#include <iostream> +#include <fstream> // For the files!!!! +#include <iomanip> // For manipulators & formatting options +using std::cin; +using std::cout; +using std::endl; +using std::setw; +using std::ios; +using std::ifstream; +using std::ofstream; +using std::left; +using std::setprecision; +using std::string; +const int MAX = 100; + +int ReadData(ifstream& inFile, int pick[], int drop[], int psgr[], float dist[], float fare[], float toll[]); +void WriteOutputFile(ofstream& outFile, int pick[], int drop[], int psgr[], float dist[], float fare[], float toll[], int counter, float TotalFare[], float CostPerMile[]); + +int main() +{ + int pick[MAX]; + int drop[MAX]; + int psgr[MAX]; + float dist[MAX]; + float fare[MAX]; + float toll[MAX]; + float TotalFare[MAX]; + float CostPerMile[MAX]; + int record_counter(0); + ifstream inFile; + ofstream outFile("C:\\TEMP\\largeout.txt"); + string FileLoc; + cout << "Please enter the input file name including extension: "; + cin >> FileLoc; + inFile.open(FileLoc); + + if (inFile.is_open()) + { + record_counter = ReadData(inFile, pick, drop, psgr, dist, fare, toll); + inFile.close(); + if (outFile.is_open()) + { + WriteOutputFile(outFile, pick, drop, psgr, dist, fare, toll, record_counter, TotalFare, CostPerMile); + outFile.close(); + } + else + { + cout << "Trouble Opening File"; + cout << "\n\n\t\t ** About to EXIT NOW! ** "; + } + } + else + { + cout << "Trouble Opening File"; + cout << "\n\n\t\t ** About to EXIT NOW! ** "; + } + return 0; +} + +int ReadData(ifstream& inFile, int pick[], int drop[], int psgr[], float dist[], float fare[], float toll[]) +{ + int counter = 0; + float sum = 0; + float FareSum = 0; + inFile >> pick[counter] >> drop[counter] >> psgr[counter] >> dist[counter] >> fare[counter] >> toll[counter]; // Priming Read + cout << setiosflags(ios::left) << left << setw(20) << "PickUpLoc" << setiosflags(ios::left) << setw(20) << left << "DropOffLoc" << setiosflags(ios::left) << left << setw(20) << "PassengerCount" + << setiosflags(ios::left) << left << setw(20) << "Distance" << setiosflags(ios::left) << left << setw(20) << "Fare" << setiosflags(ios::left) << left << setw(20) << "Toll" + << setiosflags(ios::left) << left << setw(20) << "TotalFare" << setiosflags(ios::left) << left << setw(20) << "CostPerMile" << endl; + + + while (!inFile.eof()) + { + float TotalFare[MAX]; + float CostPerMile[MAX]; + + for (int r = 0; r <= counter ; r++) { + TotalFare[r] = toll[r] + fare[r]; + CostPerMile[r] = fare[r] / dist[r]; + if (dist[r] == 0) { + CostPerMile[r] = 0; + } + } + sum = sum + psgr[counter]; + FareSum = FareSum + (fare[counter] + toll[counter]); + cout << setiosflags(ios::left) << setw(20) << pick[counter] << resetiosflags(ios::left) << left << setw(20) << drop[counter] << resetiosflags(ios::left) << left << setw(20) << psgr[counter] + << resetiosflags(ios::left) << left << setw(20) << dist[counter] << resetiosflags(ios::left) << left << setw(20) << fare[counter] << resetiosflags(ios::left) << left << setw(20) << toll[counter] + << resetiosflags(ios::left) << left << setw(20) << TotalFare[counter] << resetiosflags(ios::left) << left << setw(20) << setprecision(3) << CostPerMile[counter] << endl; + counter++; + inFile >> pick[counter] >> drop[counter] >> psgr[counter] >> dist[counter] >> fare[counter] >> toll[counter]; + } + + cout << endl << endl << "Total # of Passengers: " << sum; + cout << endl << setprecision(6) << "Total Fare: " << FareSum; + cout << endl << setprecision(4) << "Average cost per person: " << FareSum / sum; + + return counter; +} + +void WriteOutputFile(ofstream& outFile, int pick[], int drop[], int psgr[], float dist[], float fare[], float toll[], int counter, float TotalFare[], float CostPerMile[]) +{ + float sum = 0; + float FareSum = 0; + outFile << setiosflags(ios::left) << left << setw(20) << "PickUpLoc" << setiosflags(ios::left) << setw(20) << left << "DropOffLoc" << setiosflags(ios::left) << left << setw(20) << "PassengerCount" + << setiosflags(ios::left) << left << setw(20) << "Distance" << setiosflags(ios::left) << left << setw(20) << "Fare" << setiosflags(ios::left) << left << setw(20) << "Toll" + << setiosflags(ios::left) << left << setw(20) << "TotalFare" << setiosflags(ios::left) << left << setw(20) << "CostPerMile" << endl; + for (int r = 0; r <= counter - 1; r++) + { + TotalFare[r] = toll[r] + fare[r]; + CostPerMile[r] = fare[r] / dist[r]; + if (dist[r] == 0) { + CostPerMile[r] = 0; + } + sum = sum + psgr[r]; + FareSum = FareSum + (fare[r] + toll[r]); + + outFile << setiosflags(ios::left) << left << setw(20) << pick[r] << resetiosflags(ios::left) << left << setw(20) << drop[r] << resetiosflags(ios::left) << left << setw(20) << psgr[r] << resetiosflags(ios::left) << left + << setw(20) << dist[r] << resetiosflags(ios::left) << left << setw(20) << fare[r] << resetiosflags(ios::left) << left << setw(20) << toll[r] << resetiosflags(ios::left) << left << setw(20) << TotalFare[r] + << resetiosflags(ios::left) << left << setw(20) << setprecision(3) << CostPerMile[r] << endl; + } + outFile << endl << endl << "Total # of Passengers: " << sum; + outFile << endl << setprecision(6) << "Total Fare: " << FareSum; + outFile << endl << setprecision(4) << "Average Cost Per Person: " << FareSum / sum << endl << endl; +} + + + + + + diff --git a/output.txt b/output.txt new file mode 100644 index 0000000..c85a2be --- /dev/null +++ b/output.txt @@ -0,0 +1,55 @@ +Please enter the input file name including extension: C:\\TEMP\\large.txt +PickUpLoc DropOffLoc PassengerCount Distance Fare Toll TotalFare CostPerMile +129 7 3 1.3 7.5 0 7.5 5.77 +36 69 1 11.4 32 5.76 37.8 2.8 +7 41 1 4.6 15 5.76 20.8 3.26 +150 61 2 6.75 23 0 23 3.41 +112 17 1 3.84 15 0 15 3.91 +80 112 6 1.64 9.5 0 9.5 5.79 +256 183 1 16.1 44.5 0 44.5 2.77 +138 166 2 7.4 24.5 6.12 30.6 3.31 +142 50 5 1.7 8 0 8 4.71 +107 163 0 3.6 17 0 17 4.72 +132 3 2 19.1 52 6.12 58.1 2.72 +48 41 1 4.07 18 4.36 22.4 4.42 +132 226 1 14.3 39 0 39 2.73 +229 151 1 3.96 14.5 4.58 19.1 3.66 +238 166 1 0.76 4.5 0 4.5 5.92 +151 238 2 0.64 5 2.2 7.2 7.81 +138 82 4 3 12 0 12 4 +264 231 3 10.7 32.5 0 32.5 3.03 +170 114 5 2.01 9 0 9 4.48 +186 87 2 3.45 12 0 12 3.48 +209 256 1 3.79 17 0 17 4.49 +132 107 1 17.2 52 6.12 58.1 3.02 +232 112 1 3.1 11 0 11 3.55 +164 141 3 2.85 10.5 0 10.5 3.68 +129 7 3 1.3 7.5 0 7.5 5.77 +36 69 1 11.4 32 5.76 37.8 2.8 +7 41 1 4.6 15 5.76 20.8 3.26 +150 61 2 6.75 23 0 23 3.41 +112 17 1 3.84 15 0 15 3.91 +80 112 6 1.64 9.5 0 9.5 5.79 +256 183 1 16.1 44.5 0 44.5 2.77 +138 166 2 7.4 24.5 6.12 30.6 3.31 +142 50 5 1.7 8 0 8 4.71 +107 163 0 3.6 17 0 17 4.72 +132 3 2 19.1 52 6.12 58.1 2.72 +48 41 1 4.07 18 4.36 22.4 4.42 +132 226 1 14.3 39 0 39 2.73 +229 151 1 3.96 14.5 4.58 19.1 3.66 +238 166 1 0.76 4.5 0 4.5 5.92 +151 238 2 0.64 5 2.2 7.2 7.81 +138 82 4 3 12 0 12 4 +264 231 3 10.7 32.5 0 32.5 3.03 +170 114 5 2.01 9 0 9 4.48 +186 87 2 3.45 12 0 12 3.48 +209 256 1 3.79 17 0 17 4.49 +132 107 1 17.2 52 6.12 58.1 3.02 +232 112 1 3.1 11 0 11 3.55 +164 141 3 2.85 10.5 0 10.5 3.68 + + +Total # of Passengers: 100 +Total Fare: 1052.04 +Average cost per person: 10.52
\ No newline at end of file |