如何将项目添加到输出文件?

时间:2017-09-14 02:07:39

标签: c++

我是C ++的新手,我得到了第一个任务。我们有一个文本文件,其中包含5个员工姓名,工资和工时。

这是我的代码,以便我的程序可以读取它。

#include <iostream>
#include <fstream>
#include <iomanip>
#include <string>
#include <vector>

using namespace std;

int main()
{
    ifstream input;
    ofstream output;

    string name;
    int h;
    float w;
    int numEployee = 0;
    double maxPay, minPay, avgPay;
    int gross, adjGross;

    //input/output file document path
    input.open("/Users/jmduller/Documents/xcode/Lab1/Lab1/Employees.txt");
    output.open("/Users/jmduller/Documents/xcode/Lab1/Lab1/Employeesoutput.txt");

    //checks if the input file is working
    if (input.fail())
    {
        cout << "Input file failed to open." << endl;
        system("pause");
        exit(0);
    }

    //checks if output file is working
    if (output.fail())
    {
        cout << "Output file failed to open." << endl;
        system("pause");
        exit(0);
    }

    //prints the name, wage, hours worked of the employees to the output file
    while (input >> name >> w >> h)
    {
        output << setw(5) << name << setw(5) << w << setw(5) << h << endl;
    }


  system("pause");
  return 0;
}

正在正确阅读并给我输出我想要的输出文件,但是有缺少的项目。完整的输出文件应该包括员工人数,最高工资,最低工资,平均工资,总工资和调整后的总数。

任何人都可以帮我指出正确的方向吗?

由于

1 个答案:

答案 0 :(得分:0)

你要做的是在while循环语句中使用一些条件和语句(从文件中读取)。增加您的“工作人员”数量&#39;每次循环执行时变量(计算条目数)。

比较&#39; w&#39;读取以检查它是否低于minPay(初始化为非常大的值)然后更新minPay,否则如果高于maxPay(初始化为可能的最小值)更新maxPay。

另外,添加&#39; w&#39;循环中另一个变量sumPay(初始化为零),最后将它除以numEmployee,你就完成了。 只需在return语句之前将它们输出到文件中。