summaryrefslogtreecommitdiff
path: root/BlankConsoleLab/cst116-Lab3-EvanMihm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'BlankConsoleLab/cst116-Lab3-EvanMihm.cpp')
-rw-r--r--BlankConsoleLab/cst116-Lab3-EvanMihm.cpp130
1 files changed, 130 insertions, 0 deletions
diff --git a/BlankConsoleLab/cst116-Lab3-EvanMihm.cpp b/BlankConsoleLab/cst116-Lab3-EvanMihm.cpp
new file mode 100644
index 0000000..ab62c04
--- /dev/null
+++ b/BlankConsoleLab/cst116-Lab3-EvanMihm.cpp
@@ -0,0 +1,130 @@
+//lab3
+#include <iostream>
+#include <fstream>
+#include <iomanip>
+#include <numeric>
+#include <array>
+
+using std::cin;
+using std::cout;
+using std::endl;
+using std::setw;
+using std::ios;
+using std::accumulate;
+
+using std::ifstream;
+using std::ofstream;
+
+const int MAX = 100;
+
+//readfile, what it reads in for the number position
+int ReadData(ifstream& inFile, int pick[], int drop[], int psgr[], float dist[], float fare[], float toll[], int totalfare, int cpm);
+void WriteOutputFile(ofstream& outFile, int pick[], int drop[], int psgr[], float dist[], float fare[], float toll[],
+ int counter);
+void PrintTotalsAndSummary(ofstream& out, int totalRecords);
+
+
+int main()
+{
+ int pick[MAX];
+ int drop[MAX];
+ int psgr[MAX];
+ float dist[MAX];
+ float fare[MAX];
+ float toll[MAX];
+ int record_counter(0);
+
+ int cpm{};
+ int totalfare{};
+
+ ifstream inFile;
+
+ ofstream outFile("LabResults.txt");
+
+ inFile.open("infile.txt");
+
+ if (inFile.is_open())
+ {
+ record_counter = ReadData(inFile, pick, drop, psgr, dist, fare, toll, totalfare, cpm);
+ inFile.close();
+
+ if (outFile.is_open())
+ {
+ WriteOutputFile(outFile, pick, drop, psgr, dist, fare, toll, record_counter);
+ PrintTotalsAndSummary(outFile, record_counter);
+ 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! ** ";
+ }
+
+ totalfare = fare[MAX] + toll[MAX];
+ return 0;
+// totalfare = fare + toll;
+// cpm = fare / dist;
+}
+int ReadData(ifstream& inFile, int pick[], int drop[], int psgr[], float dist[], float fare[], float toll[], int totalfare, int cpm)
+{
+ int counter = 0;
+
+
+ inFile >> pick[counter] >> drop[counter] >> psgr[counter] >> dist[counter] >> fare[counter] >> toll[counter]; // Priming Read
+
+ cout << "Pick" << setw(12) << "Drop" << setw(15) << "Passengers" << setw(12)
+ << "Distance" << setw(13) << "Fare" << setw(13) << "Toll" << endl;
+
+ while (!inFile.eof())
+ {
+ cout << setiosflags(ios::left)
+ << setw(5) << pick[counter] << resetiosflags(ios::left)
+ << setw(10) << drop[counter] << resetiosflags(ios::left)
+ << setw(12) << psgr[counter] << resetiosflags(ios::left)
+ << setw(14) << dist[counter] << resetiosflags(ios::left)
+ << setw(14) << fare[counter] << resetiosflags(ios::left)
+ << setw(14) << toll[counter]
+ << endl;
+ counter++;
+ inFile >> pick[counter] >> drop[counter] >> psgr[counter] >> dist[counter] >> fare[counter] >> toll[counter];
+ }
+
+ cout << "Total Fare = " << totalfare << endl;
+ cout << "Cost Per Mile = " << cpm << endl;
+
+ return counter;
+}
+
+void WriteOutputFile(ofstream& outFile, int pick[], int drop[], int psgr[], float dist[], float fare[], float toll[],
+ int counter)
+{
+ outFile << " Here is the Output File" << endl;
+
+ for (int r = 0; r <= counter - 0; r++)
+ {
+ outFile << setiosflags(ios::left)
+ << setw(5) << pick[r] << resetiosflags(ios::left)
+ << setw(10) << drop[r] << resetiosflags(ios::left)
+ << setw(12) << psgr[r] << resetiosflags(ios::left)
+ << setw(14) << dist[r] << resetiosflags(ios::left)
+ << setw(14) << fare[r] << resetiosflags(ios::left)
+ << setw(14) << toll[r]
+ << endl;
+ }
+}
+void PrintTotalsAndSummary(ofstream& outFile, int totalRecords)
+{
+ // To screen
+ cout << "\n\n\t** Total Records: " << totalRecords << " **\n"
+ << "\t\t The End \n";
+
+ // To file
+ outFile << "\n\n\t** Total Records: " << totalRecords << " **\n"
+ << "\t\t The End \n";
+}