diff options
| author | EdwardFine <[email protected]> | 2022-11-29 20:02:38 -0800 |
|---|---|---|
| committer | EdwardFine <[email protected]> | 2022-11-29 20:02:38 -0800 |
| commit | e0b4a1d58088ddb8abc5c726a5312c7acf88e49f (patch) | |
| tree | d651491b1513e71e4119141679e611ad29ac1791 /BlankConsoleLab | |
| parent | Setting up GitHub Classroom Feedback (diff) | |
| download | cst116-lab3-edwardfine-e0b4a1d58088ddb8abc5c726a5312c7acf88e49f.tar.xz cst116-lab3-edwardfine-e0b4a1d58088ddb8abc5c726a5312c7acf88e49f.zip | |
1
Diffstat (limited to 'BlankConsoleLab')
| -rw-r--r-- | BlankConsoleLab/BlankConsoleLab.cpp | 143 | ||||
| -rw-r--r-- | BlankConsoleLab/BlankConsoleLab.vcxproj | 2 | ||||
| -rw-r--r-- | BlankConsoleLab/lab3_report.txt | 0 | ||||
| -rw-r--r-- | BlankConsoleLab/re is the Output File | 0 |
4 files changed, 139 insertions, 6 deletions
diff --git a/BlankConsoleLab/BlankConsoleLab.cpp b/BlankConsoleLab/BlankConsoleLab.cpp index ed5f807..492267d 100644 --- a/BlankConsoleLab/BlankConsoleLab.cpp +++ b/BlankConsoleLab/BlankConsoleLab.cpp @@ -2,15 +2,148 @@ // #include <iostream> - -using namespace std; - -using std::cout; +#include <string> +#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; + +const int MAX = 100; +int ReadData(ifstream& inFile, int pickUp[], int dropOff[], int passenger[], float + dist[], float fare[], float toll[]); +void WriteOutputFile(ofstream& outFile, int pick[], int drop[], int + psgr[], float dist[], float fare[], float toll[], + int counter); +void PrintTotalsAndSummary(ofstream& out, int totalRecords); +float totalFare(float fare[], float toll[], int counter); +float cpm(float fare[], float dist[], int counter); int main() { - cout << "Hello World!\n"; + int pickUp[MAX]; + int dropOff[MAX]; + int passenger[MAX]; + float dist[MAX]; + float fare[MAX]; + float toll[MAX]; + int record_counter(0); + string outputLoc; + string outputName; + string inputLoc; + string inputName; + cout << "Where do you want the OUTPUT file to be saved?(C:\\.....) "; + cin >> outputLoc; + cout << endl << "What do you want the OUTPUT file to be called?(include .txt) "; + cin >> outputName; + cout << endl << "Where is your INPUT file saved?(C:\\....) "; + cin >> inputLoc; + cout << endl << "What is your INPUT file called?(include .txt) "; + cin >> inputName; + ifstream inFile; + + ofstream outFile(outputLoc + "\\" + outputName); + + inFile.open(inputLoc + "\\" + inputName); + + if (inFile.is_open()) + { + record_counter = ReadData(inFile, pickUp, dropOff, passenger, dist, fare, toll); + inFile.close(); + + if (outFile.is_open()) + { + WriteOutputFile(outFile, pickUp, dropOff, passenger, dist, fare, toll, record_counter); + PrintTotalsAndSummary(outFile, record_counter); + outFile.close(); + } + else + { + cout << "Trouble Opening Output File"; + cout << "\n\n\t\t ** About to EXIT NOW! ** "; + } + } + else + { + cout << "Trouble Opening Input 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; + inFile >> pick[counter] >> drop[counter] >> psgr[counter] >> + dist[counter] >> fare[counter] >> toll[counter]; // Priming Read + 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]; + } + return counter; +} +void WriteOutputFile(ofstream& outFile, int pickUp[], int dropOff[], int passenger[], float + dist[], float fare[], float toll[], int counter) +{ + outFile << " Here is the Output File" << endl; + outFile << "Pickup " << setw(15) << "Dropoff " << setw(15) << "Passengers " << setw(15) << "Distance " << setw(15) << "Fare " << setw(15) << "Toll " << setw(15) << + "Total Fare " << setw(15) << "Cost per Mile "<< endl; + cout.precision(2); + for (int r = 0; r <= counter; r++) + { + outFile << setiosflags(ios::left) << setw(4) + << pickUp[r] << resetiosflags(ios::left) + << setw(15) << dropOff[r] + << setw(15) << passenger[r] + << setw(15) << dist[r] + << setw(15) << fare[r] + << setw(15) << toll[r] << setw(15) + << totalFare(fare, toll, r)<< setw(15) << + cpm(fare, dist, r)<< + endl; + } +} +float totalFare(float fare[], float toll[], int counter) { + float total = fare[counter] + toll[counter]; + return total; +} +float cpm(float fare[], float dist[], int counter) { + float cpm; + if (dist[counter] == 0) { + cpm = 0; + } + else { + cpm = fare[counter] / dist[counter]; + } + return cpm; +} +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"; } diff --git a/BlankConsoleLab/BlankConsoleLab.vcxproj b/BlankConsoleLab/BlankConsoleLab.vcxproj index db2e734..21a7b20 100644 --- a/BlankConsoleLab/BlankConsoleLab.vcxproj +++ b/BlankConsoleLab/BlankConsoleLab.vcxproj @@ -42,7 +42,7 @@ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v142</PlatformToolset> + <PlatformToolset>v143</PlatformToolset> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> diff --git a/BlankConsoleLab/lab3_report.txt b/BlankConsoleLab/lab3_report.txt new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/BlankConsoleLab/lab3_report.txt diff --git a/BlankConsoleLab/re is the Output File b/BlankConsoleLab/re is the Output File new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/BlankConsoleLab/re is the Output File |