1

我尝试了所有方法,但我知道我所拥有的东西是不正确的,但至少输出的格式是我对两个文件之一的需要。我需要将信息发送到两个单独的 .txt 文件中,它们都携带不同的信息。我如何使用我已经拥有的当前数组函数来做到这一点。我花了几个小时试图弄清楚这一点,现在由你们所有人决定!谢谢你。

主要的-

#include<iostream>
#include<fstream>
#include<string>
#include "Payroll.h"
using namespace std;


const int NUM_EMPLOYEE = 75;

int main()
{
    int dependents;
    double payrate;
    string name;
    double hours;
    ifstream fin;
    int count = 0;
    Payroll employeeArray[NUM_EMPLOYEE];

    fin.open("employeeData.txt");

    if (!fin)
    {
        cout << "Error opening data file\n";
        return 0;
    }
    else
    {
        while(fin >> payrate >> dependents)
        {
            getline(fin, name);
            employeeArray[count].setWage(payrate);
            employeeArray[count].setDependents(dependents);
            employeeArray[count].setName(name);
            cout << "How many hours has" << name << " worked? ";
                cin >> hours;
                employeeArray[count].setHours(hours);
            count++;
        }

    }

    for (int i = 0; i < count; i++)
    {
        employeeArray[i].printPayDetails(cout << endl);
    }

    cout << endl;

    return 0;
}

打印功能-

void Payroll::printPayDetails(ostream& out)
{
    double normPay = getNormPay();
    double overTime = getOverPay();
    double grossPay = getGrossPay();
    double taxAmount = getTaxRate();
    double netPay = computePay();
    const int SIZE = 9;
    out << fixed << setprecision(2) << right << setw(5) << hours  << setw(SIZE)  << normPay << setw(SIZE) << overTime ;
    out << setw(SIZE) << grossPay << setw(SIZE) << taxAmount <<setw(SIZE) << netPay;
}
4

1 回答 1

2

你的问题措辞有点不稳定,但我想我明白你在说什么。如果要输出到两个不同的文件,则需要两个字符串流。下面是一个例子:

#include <fstream>

void main()
{
     //Open file 1
     ofstream file1;
     file1.open("file1.txt");
     file1 << "Writing stuff to file 1!";

     //Open file 2
     ofstream file2;
     file2.open("file2.txt");
     file2 << "Writing stuff to file 2!";

     //That the files are open you can pass them as arguments to the rest of your functions.
     //Remember to use &


     //At the end of your program remember to close the files
     file1.close();
     file2.close();
}
于 2013-04-27T03:09:32.743 回答