summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrevor Bouchillon <[email protected]>2022-11-29 20:16:13 -0800
committerTrevor Bouchillon <[email protected]>2022-11-29 20:16:13 -0800
commit3c2c81ce8cd02b611216fd75ea65802bdeb07e75 (patch)
tree2c49ed9190908670bc61254c1d9b38c11887f188
parentadded user input for file loc (diff)
downloadarchived-cst116-lab3-daboochillin-3c2c81ce8cd02b611216fd75ea65802bdeb07e75.tar.xz
archived-cst116-lab3-daboochillin-3c2c81ce8cd02b611216fd75ea65802bdeb07e75.zip
added output
-rw-r--r--BlankConsoleLab/Lab3.cpp133
-rw-r--r--output.txt55
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