summaryrefslogtreecommitdiff
path: root/BlankConsoleLab/lab3-alexandra-apetroaei.cpp
blob: 9e49d3082dfa204ff14690625a7c399d2c6af168 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
// CST 116 Lab - Alexandra Apetroaei
#include <iostream>
#include <fstream> 
#include <iomanip>

using namespace std;
using std::cout;
using std::cin;
using std::endl;
using std::setw;
using std::ios;

using std::ifstream;
using std::ofstream;

const int MAX = 100;

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);
void PrintTotalsAndSummary(ofstream& outFile, int totalRecords);

int main()
{
    int pick[MAX];
    int drop[MAX];
    int psgr[MAX];
    float dist[MAX];
    float fare[MAX];
    float toll[MAX];
    int record_counter(0);

    ofstream outFile("C:\\TEMP\\names.txt");

    ifstream ifFile;

    inFile.open("C:\\TEMP\\names.txt");

    if (inFile.is_open())
    {
        record_counter = ReadData(inFile, pick, drop, psgr, dist, fare, toll);

        inFile.is_close();

        if (outFile.is_open())
        {
            WriteOutputFile(outFile, pick, drop, psgr, dist, fare, toll, record_counter);

            outFile.close();

        }
        else
        {
            cout << "Trouble Opening File";
            cout << "\n\n\t\t **About to EXIT NOW! ** " << endl;
        }
    }
    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];

    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 pick[], int drop[], int psgr[],
    float dist[], float fare[], float toll[], int counter)
{
    outFile << " Here is the Output File" << endl;
    for (int r = 0; r <= counter - 1; r++)
    {
        outFile << setiosflags(ios::left) << setw(5) << pick[r] <<
            resetiosflags(ios::left) << setw(10) << drop[r] <<
            resetiosflags(ios::left) << setw(12) << psgr[r] <<
            resetiosflags(ios::left) << setw(14) << dist[r] <<
            resetiosflags(ios::left) << setw(14) << fare[r] <<
            resetiosflags(ios::left) << setw(14) << toll[r] << endl;
    }
}

void PrintTotalsAndSummary(ofstream& outFile, int totalRecords)
{
    cout << "\n\n\t** Total Records: " << totalRecords << "**\n"
        << "\t\t The End \n";

    outFile << "\n\n\t** Total Records: " << totalRecords << "**\n"
        << "\t\t The End \n";
}