【发布时间】:2020-07-26 18:56:39
【问题描述】:
我对 C++ 比较陌生,所以这个问题可能看起来很愚蠢,这就是我来这里的原因。 2019 年代码出现,第 1 天。我希望从 .txt 读取到 void data() 的数据在每次迭代后添加到自身并按顺序打印。
这是我到目前为止得到的:
void data() {
int fuel = 0, forMass = 0, forEach[100], forAll = 0, lines;
//int MassArr[];
std::ifstream infile("./Day1Input.txt"); //reading from .txt
std::string line;
for (lines = 0; std::getline(infile, line); lines++) {
fuel = std::stoi(line);
std::cout << "Module number [" << lines+1 << "]'s Mass = " << fuel << "\n";
forEach[lines] = fuel / 3 - 2;
std::cout << "Fuel required = " << forEach[lines] << "\n\n";
/* *****THIS IS THE TRICKY PART*****
forMass = (lines>0) ? forEach[lines] =+ fuel / 3 - 2 : forEach[lines];
std::cout << "Fuel required so far = " << forMass << "\n";
forAll = forMass += forEach[lines];
std::cout << "Fuel required for mass and fuel so far = " << forAll << "\n";
*/
}
}
forMass 和 forAll 不会在每次迭代中递增地添加到自身。同样,如果这太明显了,我很抱歉,但非常感谢任何帮助。谢谢:)
【问题讨论】:
-
当我完全不确定它应该做什么时,很难知道你做错了什么。
-
不相关,但既然你正在学习,请摆脱立即使用 c 样式数组的习惯。
forEach应该是std::vector<int>或std::array<int, 100>。
标签: c++ loops for-loop addition