diff options
Diffstat (limited to 'BlankConsoleLab/BlankConsoleLab.cpp')
| -rw-r--r-- | BlankConsoleLab/BlankConsoleLab.cpp | 162 |
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"; } + + + |