summaryrefslogtreecommitdiff
path: root/BlankConsoleLab/BlankConsoleLab.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'BlankConsoleLab/BlankConsoleLab.cpp')
-rw-r--r--BlankConsoleLab/BlankConsoleLab.cpp162
1 files changed, 93 insertions, 69 deletions
diff --git a/BlankConsoleLab/BlankConsoleLab.cpp b/BlankConsoleLab/BlankConsoleLab.cpp
index ea64379..86a8534 100644
--- a/BlankConsoleLab/BlankConsoleLab.cpp
+++ b/BlankConsoleLab/BlankConsoleLab.cpp
@@ -2,95 +2,119 @@
//Trevor Bouchillon
#include <iostream>
-#include <fstream> // For the files!!!!
-#include <iomanip> // For manipulators & formatting options
+#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::string;
-
using std::ifstream;
using std::ofstream;
+using std::left;
+using std::setprecision;
+const int MAX = 100;
-const int EMPLOYEES = 20;
-const int MAX = 21;
-
-string OutFileName = "C:\\TEMP\\smallOut.txt";
-string InFileName = "C:\\TEMP\\small.txt";
-
-int ReadData(ifstream& inFile, ofstream& outFile, char name[][MAX], int age[]);
-void WriteOutputFile(ofstream& outFile, char name[][MAX], int age[], int counter);
+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[]);
void PrintTotalsAndSummary(ofstream& out, int totalRecords);
int main()
{
- char name[EMPLOYEES][MAX];
- int age[EMPLOYEES];
- int record_counter(0);
-
- ifstream inFile;
+ 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;
+ // Notice how this automatically opens the file
+ ofstream outFile("C:\\TEMP\\largeout.txt");
+ inFile.open("C:\\TEMP\\large.txt");
- // Notice how this automatically opens the file
- ofstream outFile(OutFileName); //changed output file to be seperate.
-
- inFile.open(InFileName);
-
- if (inFile.is_open())
- {
- record_counter = ReadData(inFile, outFile, name, age);
- inFile.close();
-
- if (outFile.is_open())
- {
- WriteOutputFile(outFile, name, age, record_counter);
- PrintTotalsAndSummary(outFile, record_counter);
- outFile.close();
- }
- else
- {
- cout << "Trouble Opening: " << OutFileName;
- cout << "\n\n\t\t ** About to EXIT NOW! ** ";
- }
- }
- else
- {
- cout << "Trouble Opening: " << InFileName;
- cout << "\n\n\t\t ** About to EXIT NOW! ** ";
- }
- return 0;
+ 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);
+ 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! ** ";
+ }
+ return 0;
}
-int ReadData(ifstream& inFile, ofstream& outFile, char name[][MAX], int age[])
-{
- int counter = 0;
- inFile >> name[counter] >> age[counter]; // Priming Read
- while (!inFile.eof())
- {
- cout << setiosflags(ios::left) << setw(25) << name[counter] << resetiosflags(ios::left) << setw(4) << age[counter] << endl;
- counter++;
- inFile >> name[counter] >> age[counter];
- }
+int ReadData(ifstream& inFile, int pick[], int drop[], int psgr[], float dist[], float fare[], float toll[])
+{
+ int counter = 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];
- return counter;
+ 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;
+ }
+ }
+ 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];
+ }
+
+
+ return counter;
}
-void WriteOutputFile(ofstream& outFile, char name[][MAX], int age[], int counter)
+
+void WriteOutputFile(ofstream& outFile, int pick[], int drop[], int psgr[], float dist[], float fare[], float toll[], int counter, float TotalFare[], float CostPerMile[])
{
- outFile << " Here is the Output File" << endl;
- for (int r = 0; r < counter; r++) //made r a less than rather than less than or equal to.
- {
- outFile << setiosflags(ios::left) << setw(25) << name[r] << setw(4) << resetiosflags(ios::left) << age[r] << endl;
- }
+ outFile << " Here is the Output File" << 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;
+ }
+ outFile << setiosflags(ios::left) << left << setw(10) << pick[r] << resetiosflags(ios::left) << left << setw(10) << drop[r] << resetiosflags(ios::left) << left << setw(10) << psgr[r] << resetiosflags(ios::left) << left
+ << setw(14) << dist[r] << resetiosflags(ios::left) << left << setw(10) << fare[r] << resetiosflags(ios::left) << left << setw(10) << toll[r] << resetiosflags(ios::left) << left << setw(14) << TotalFare[r]
+ << resetiosflags(ios::left) << left << setw(14) << setprecision(3) << CostPerMile[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";
+ // 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";
}
+
+
+