在C++中对文件中的值单独执行计算
Perform calculation seperately on values from file in C++
所以我有一个输入文件,其中包含几个不同的整数值(每个值在一行中(,现在我需要读取每个值,找到平方根并获得输出。我遇到的问题是,我的代码只读取输入文件中的第一个值。我有一种感觉,我应该使用一个循环来分别读取每个值,所以如果有人能帮我,我将不胜感激。
float file_inp() //reads values from file and calculates the square root
{
float y = 0;
ifstream fin;
fin.open("input.txt",ios::in);
if (fin)
{
int x = 0;
fin >> x;
y=sqrt(x);
}
return y;
}
int main()
{
float y = 0;
cout << file_inp();
system("Pause");
return 0;
}
主要问题是您有一个读取文件并返回一个数字的函数
再多的循环也无法使该函数产生多个数字。
与其让一个函数完成所有的工作,不如让一些函数完成一点工作,并反复使用它们
将I/O与数据处理分离也是一个好主意。
这是常见的"空白分隔输入的元素处理"循环:
int main()
{
std::ifstream input("input.txt"); // No 'ios::in'; it's already an input stream.
SomeType piece;
while (input >> piece) // Read until you can't read no more.
{
process(piece); // Do whatever you want to do.
}
}
根据需要调整类型和处理。
在您的情况下,
int main()
{
std::ifstream input("input.txt");
int x;
while (input >> x)
{
std::cout << std::sqrt(x) << std::endl;
}
}
相关文章:
- 在执行其他功能的同时播放动画(LED矩阵和Arduino/ESP8266)
- 如何在C++中从两个单独的for循环中添加两个数组
- C++,系统无法执行指定的程序
- 使用C++中的模板和运算符重载执行矩阵运算
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 用C++在单独的头文件中完成函数体
- 执行函数时导致崩溃的变量
- 无论条件是否为true,if总是在c++中执行
- 当函数模板参数是具有默认参数的类模板时,函数模板参数的推导如何执行
- 在C++中对文件中的值单独执行计算
- 在单独的可执行文件中调用INSTANTIATE_TEST_CASE_P时,库中的TEST_P测试不会运行
- 使CEF使用单独的可执行文件来启动子流程(C /Windows)
- 将 .NET C# 程序集成到已编译(非托管)C++程序中(无需执行单独的.exe文件)
- 是否可以在 gsoap 中的单独线程中执行函数
- 在C++中正确地执行单独的链接
- Makefile,将目录中的所有cpp文件编译为单独的可执行文件
- C++二进制文件在使用valgrind运行时执行良好,但在单独运行此二进制文件时失败
- 链表析构函数与Valgrind一起执行,但不能单独执行
- 插入两个相互引用的SQL表,而无需执行单独的查询
- C++ 具有单独的可执行日志异常