我有一个包含以下字符串的文本文件:
Employee:HoursWorked:PayPerHour:DateWorked
John:5:4:25Jan14
Amy:3:6:25Jan14
Will:4:7:27Jan14
Alan:7:3:25Jan14
我要做的是生成一份日薪报告,如下所示:
Date Total Salary
25Jan14 59
27Jan14 28
由于我还是C ++的新手,到目前为止我只能生成此输出:
Date: 25Jan14
Total Salary: 20
Date: 25Jan14
Total Salary: 18
Date: 27Jan14
Total Salary: 28
Date: 25Jan14
Total Salary: 21
以下是我的代码:
string date, fname, fhour, fpay, fdate;
int ihour, ipay, total, gtotal;
ifstream file ("salary.txt");
while (file)
{
getline(file, fname, ':');
getline(file, fhour, ':');
getline(file, fpay, ':');
getline(file, fdate);
ihour = atoi(fhour.c_str());
ipay = atoi(fpay.c_str());
cout << "Date: " << fdate << endl;
total = ihour * ipay;
gtotal += total; //Suppose to store the grand total of a single date
cout << "Total Salary: " << total << endl;
}
如何使输出只显示单个25Jan14日期并加上薪水?我试图谷歌寻求解决方案,但我根本不知道要搜索什么。
请建议,谢谢。
答案 0 :(得分:0)
您需要存储与其对应的salary
相关联的date
,然后将所有工资汇总在同一日期。