我的项目是读取带有一组整数的输入文件(我不知道有多少),计算这些整数的总和,然后创建一个输出文件并在输出文件中写入总数。
我的代码中的所有内容都有效,但我从输出文件中得到的总数实际上并不是我想要计算的总数。
例如,我的testfile1文档中包含的整数是:14,9,12,-6,-30,8,109
我在总结文件上的数字是28,这显然不是这些整数的总和。
这是我的代码。我知道有些部分是冗余的,或者不像c ++那样简单,但是我试着根据我到目前为止从我的教科书中学到的东西来格式化它,所以有些部分可能不那么先进。由于我取出了描述块,因此缺少某些行号。 我真的只需要弄清楚为什么总数没有正确添加(第33-38行)。任何帮助将不胜感激。
先谢谢大家!
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
ifstream inputFile;
ofstream outputFile;
string testfile1;
string sum;
int total=0;
int num;
cout << "Please input name of file." << endl;
getline (cin, testfile1);
inputFile.open(testfile1.c_str());
if(inputFile) {
while(inputFile >> num){
total=+num;
}
inputFile.close();
}
else {
cout << "could not access testfile1" << endl;
}
outputFile.open("sum");
if(outputFile) {
outputFile << total << endl;
outputFile.close();
}
else {
cout << "could not access file." << endl;
}
return 0;
}
答案 0 :(得分:3)
错字。
使用
total += num; // Need to use +=
而不是
total=+num; // Not =+.