我正在试图弄清楚我是如何使用我创建的输出文本文件来计算两个变量的总和。我的输出文本文件正确地保存了信息,但是我的总和得到0和0所以它没有读取我认为的信息。另外,我输入数组的信息是否只保存到文本文件中?我只需将其保存到文本文件中,以便总和计算仅接收来自文本文件的信息
#include <iostream>
#include <string>
#include<iomanip>
#include <fstream>
using namespace std;
int main() {
int ItemNumber[2];
float price[2];
int sumnumber = 0;
float sumprice = 0;
string myfile = "c:/Users/rz/Desktop/numbers.txt";
int count = 0;
ofstream outFile;
outFile.open(myfile);
while (count <= 1)
{
cout << "enter a price" << endl;
cin >> price[count];
outFile << price[count] << endl;
cout << "enter a item number" << endl;
cin >> ItemNumber[count];
outFile << ItemNumber[count] << endl;
count++;
}
outFile.close();
fstream inFile;
inFile.open(myfile);
while (count <= 1)
{
sumprice = sumprice + price[count];
sumnumber = sumnumber + ItemNumber[count];
}
cout << sumnumber << endl;
cout << sumprice << endl;
system("pause");
return 0;
}
答案 0 :(得分:0)
在第一个循环结束时:
int count = 0;
while (count <= 1) { ... count++ ... }
变量count
将设置为2
。
然后,当你开始第二个循环时:
while (count <= 1) ...
条件已经为false,因此循环的主体永远不会被执行。
为了使其正常工作,您必须将计数重置为零,以便再次运行项目。或者,更好的是,单独留下count
(因为它表示处理了多少项)并使用另一个变量来完成它们:
for (int i = 0; i < count; ++i) { ... use i rather than count ... }