summaryrefslogtreecommitdiff
path: root/BlankConsoleLab/Lab3-Ahmed.cpp
diff options
context:
space:
mode:
authorMusa Ahmed <[email protected]>2022-11-30 17:48:53 -0800
committerMusa Ahmed <[email protected]>2022-11-30 17:48:53 -0800
commitaaea2967bc68003cb052c564e2009379d5481bcc (patch)
tree03e7d69f170938bf0e8264b4bf6b144fe82b259e /BlankConsoleLab/Lab3-Ahmed.cpp
parentadded pseudocode and output files (diff)
downloadcst116-lab3-m005a-aaea2967bc68003cb052c564e2009379d5481bcc.tar.xz
cst116-lab3-m005a-aaea2967bc68003cb052c564e2009379d5481bcc.zip
renamed the files
Diffstat (limited to 'BlankConsoleLab/Lab3-Ahmed.cpp')
-rw-r--r--BlankConsoleLab/Lab3-Ahmed.cpp170
1 files changed, 0 insertions, 170 deletions
diff --git a/BlankConsoleLab/Lab3-Ahmed.cpp b/BlankConsoleLab/Lab3-Ahmed.cpp
deleted file mode 100644
index 72076d7..0000000
--- a/BlankConsoleLab/Lab3-Ahmed.cpp
+++ /dev/null
@@ -1,170 +0,0 @@
-
-#include <iostream>
-#include <fstream> // For the files!!!!
-#include <iomanip> // For manipulators & formatting options
-#include <string>
-#include<array>
-
-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::setprecision;
-
-
-
-// The max amount of records in one file
-const int MAX = 50;
-
-// initialize all functions
-int ReadData(ifstream& inFile, int pick[], int drop[], int passCount[], double distance[], double fare[], double toll[], double costPMile[], int counter, double totalFare[]);
-void WriteOutputFile(ofstream& outFile, int totalRecords, int people, int pick[], int drop[], int passCount[], double distance[], double fare[], double toll[], double costPMile[]);
-void PrintTotalsAndSummary(ofstream& outFile, int totalRecords, int people, int passCount[], double distance[], double fare[], double toll[], double totalFare[], double costPMile[], double paid);
-
-
-int main()
-{
- // initialize all arrays and counters
- int pick[MAX];
- int drop[MAX];
- int passCount[MAX];
- double distance[MAX];
- double fare[MAX];
- double toll[MAX];
- double totalFare[MAX] = { 0 };
- double costPMile[MAX] = { 0 };
- int record_counter(0);
- int people(0);
- int counter = 0;
- double paid = 0;
-
- // initialize files
- string filename;
- ifstream inFile;
- ofstream outFile("out.txt");
-
-
- cout << "Please enter the input file name including extension: " << endl;
- cin >> filename;
-
- // open the requested file
- inFile.open(filename);
-
- if (inFile.is_open())
- {
- // read the data from the file, and output the total number of records (store into arrays)
- record_counter = ReadData(inFile, pick, drop, passCount, distance, fare, toll, costPMile, counter, totalFare);
-
- // close the read file
- inFile.close();
-
- if (outFile.is_open())
- {
- // write the new data to the output file
- WriteOutputFile(outFile, record_counter, people, pick, drop, passCount, distance, fare, toll, costPMile);
- // output the summary both to screen and to file
- PrintTotalsAndSummary(outFile, record_counter, people, passCount, distance, fare, toll, totalFare, costPMile, paid);
- 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, int pick[], int drop[], int passCount[], double distance[], double fare[], double toll[], double costPMile[], int counter, double totalFare[])
-{
-
- // print headers
- cout << setiosflags(ios::left) << setw(10) << "Trip" << setw(15)
- << "Pick" << setw(10) << "Drop" << setw(10)
- << "# ppl"
- << setw(10) << "Distance" << setw(10)
- << "Fare"
- << setw(10) << "Toll"
- << setw(10) << "Total"
- << setw(10) << "Cost per Mile" << endl;
-
- inFile >> pick[counter] >> drop[counter] >> passCount[counter] >> distance[counter] >> fare[counter] >> toll[counter]; // Priming Read
- // read all of the data into arrays
- while (!inFile.eof())
- {
- totalFare[counter] = fare[counter] + toll[counter];
- cout << setiosflags(ios::left) << setw(10) << counter << setw(15)
- << pick[counter]
- << setw(10) << drop[counter] << setw(10)
- << passCount[counter]
- << setw(10) << distance[counter] << setw(10)
- << fare[counter]
- << setw(10) << toll[counter] << setw(15)
- << totalFare[counter] << setw(10);
- // if distance is 0 then there is no cost per mile
- if (distance[counter] == 0) {
- costPMile[counter] = 0;
- }
- // cost per mile = (toll + fare) / distance
- else {
- costPMile[counter] = (toll[counter] + fare[counter]) / distance[counter];
- }
- cout << setprecision(3) << costPMile[counter];
- counter++;
- inFile >> pick[counter] >> drop[counter] >> passCount[counter] >> distance[counter] >> fare[counter] >> toll[counter];
- cout << endl;
-
- }
-
- return counter;
-}
-void WriteOutputFile(ofstream& outFile, int totalRecords, int people, int pick[], int drop[], int passCount[], double distance[], double fare[], double toll[], double costPMile[])
-{
-
- // write the same data to the output files
- outFile << " Here is the Output File" << endl;
- for (int r = 0; r < totalRecords; r++)
- {
-
- outFile << setiosflags(ios::left) << setw(15)
- << pick[r]
- << setw(15) << drop[r] << setw(15)
- << passCount[r]
- << setw(15) << distance[r] << setw(15)
- << fare[r]
- << setw(15) << toll[r]
- << setw(15) << costPMile[r] << endl;
- }
-
-}
-void PrintTotalsAndSummary(ofstream& outFile, int totalRecords, int people, int passCount[], double distance[], double fare[], double toll[], double totalFare[], double costPMile[], double paid)
-{
- // do the calculations for all of the totals.
- for (int i = 0; i < totalRecords; i++) {
- people += passCount[i];
- double temp = fare[i] + toll[i];
- paid += temp;
- totalFare[i] = temp;
-
- }
- // print ot screen
- cout << "\n\n\t** Avg Cost Per Person: " << paid/people << " **\n"
- << "\n\n\t** People Transported: " << people << " **\n"
- << "\n\n\t** Total Cost: " << setprecision(5) << paid << " **\n"
-
- << "\t\t The End \n";
- // print to output file
- outFile << "\n\n\t** Avg Cost Per Person: " << paid/people << " **\n"
- << "\n\n\t** People Transported: " << people << " **\n"
- << "\n\n\t** Total Cost: " << paid << " **\n"
- << "\t\t The End \n";
-}
-