我让我的程序执行我想要的90%所有剩下要做的就是通过添加所有小计并输出到文件来获得总计。它我很简单,但我似乎无法找到一种方法来将所有小计的总和加在一起。说实话,即使我需要将其输出到文本文件中,我还没有尝试任何东西,因为我试图找到一种方法来获得我的总数。有人会介意找到解决方案并解释它,以便我更好地理解。
//Libraries
#include <iostream>
#include <string>
#include <fstream>
#include <iomanip>
using namespace std;
int main() {
ifstream theFile("input.txt");
string name;
int units;
double price, subtotal;
cout << "\n" <<string(80, '*') << endl;
cout.width(66); cout << "Inventory Report For Jane Doe International Hardware" << endl;
cout << string(80, '*') << "\n" << endl;
cout << left << setw(20) << "ITEM";
cout << right << setw(20) << "NUMBER OF UNITS";
cout << right << setw(20) << "UNIT COST ($)";
cout << right << setw(20) << "TOTAL VALUE ($)" << endl;
cout << string(80, '-') << "\n" <<endl;
cout << fixed;
cout << setprecision(2);
while (theFile >> name >> units >> price) {
subtotal = units*price;
cout << left << setw(20) << name << right << setw(15) << units << right << setw(20) << price << right << setw(20) << subtotal <<endl;
}
cout << "\n" <<string(80, '-') << endl;
cout <<left << setw(20) << "Inventory Total ($)" << right << setw(55) << "total" <<endl;
return 0;
}
我的输入文字文件
Chisel 50 9.99 Hammer 30 15.99 Nails 2000 0.99
Bolts 200 2.99 Nuts 300 1.99 Soap 55 1.89
答案 0 :(得分:3)
您需要总结所有小计。但是,每个小计只能在其迭代中访问,之后,它会在您重新分配小计后丢失。
因此,在while循环之外声明变量total
,然后在每次迭代中将小计添加到总计中。因此,添加以下行
subtotal = units*price;
total += subtotal;
现在您可以稍后打印total
。