gpt4 book ai didi

c++ - 在 C++ 上使用 eof

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:59:46 26 4
gpt4 key购买 nike

我正在为这个 pascal 代码寻找 C++ 编码

var
jumlah,bil : integer;
begin
jumlah := 0;
while not eof(input) do
begin
readln(bil);
jumlah := jumlah + bil;
end;
writeln(jumlah);
end.

我不明白在 C++ 上使用 eof

目的是计算从第1行到文件末尾的数据

编辑:好吧,我试过了,但没有成功

#include<iostream>
using namespace std;

int main()
{
int k,sum;
char l;
cin >> k;
while (k != NULL)
{
cin >> k;
sum = sum + k;
}
cout << sum<<endl;
}

抱歉,我是 C++ 的新手

最佳答案

您非常接近,但您 Pascal 背景的影响可能比理想情况要大一些。您可能想要的更像是:

#include<iostream>
using namespace std; // Bad idea, but I'll leave it for now.

int main()
{
int k,sum = 0; // sum needs to be initialized.
while (cin >> k)
{
sum += k; // `sum = sum + k;`, is legal but quite foreign to C or C++.
}
cout << sum<<endl;
}

或者,C++ 可以将文件大致视为一个顺序容器,并像处理任何其他容器一样处理它:

int main() { 
int sum = std::accumulate(std::istream_iterator<int>(std::cin),
std::istream_iterator<int>(),
0); // starting value
std::cout << sum << "\n";
return 0;
}

关于c++ - 在 C++ 上使用 eof,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7388948/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com