summaryrefslogtreecommitdiff
path: root/BlankConsoleLab
diff options
context:
space:
mode:
authorEdwardFine <[email protected]>2022-11-29 20:02:38 -0800
committerEdwardFine <[email protected]>2022-11-29 20:02:38 -0800
commite0b4a1d58088ddb8abc5c726a5312c7acf88e49f (patch)
treed651491b1513e71e4119141679e611ad29ac1791 /BlankConsoleLab
parentSetting up GitHub Classroom Feedback (diff)
downloadcst116-lab3-edwardfine-e0b4a1d58088ddb8abc5c726a5312c7acf88e49f.tar.xz
cst116-lab3-edwardfine-e0b4a1d58088ddb8abc5c726a5312c7acf88e49f.zip
1
Diffstat (limited to 'BlankConsoleLab')
-rw-r--r--BlankConsoleLab/BlankConsoleLab.cpp143
-rw-r--r--BlankConsoleLab/BlankConsoleLab.vcxproj2
-rw-r--r--BlankConsoleLab/lab3_report.txt0
-rw-r--r--BlankConsoleLab/re is the Output File0
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