c++ - 程序只读取第一行! C++

标签 c++ arrays function arraylist line

<分区>

我的程序应该使用 .txt 文件作为输入(时间从 1 秒到 10 秒)来计算坠落物体的距离。文本文件内容如下:

1 2个 3个 4个 5个 6个 7 8个 9 10

这是我到目前为止的代码。

#include <iostream>
#include <fstream>
#include <cmath>
#include <cstdlib>
using namespace std;

//function prototype
double fallingDistance (int);

void main()
{
    ifstream inputFile;
    int time;
    double distance;

    //open the file
    inputFile.open("05.txt");
    inputFile >> time;

    {
        distance = fallingDistance (time);
        cout << time << "\t\t" << distance << endl;
    }
}
double fallingDistance (int time)
{
    double distance, gravity=9.8;
    distance = static_cast<double>(0.5 * gravity * pow(time,2));
    return distance;
}

这是我的程序编译的内容:

1 4.9 press any key to continue...

提前致谢!

最佳答案

cout << time << "\t\t" << distance << endl;

您首先从输入文件中读取一个int。接下来使用 time 初始化 distance。然后打印 time 的值、两个制表符,最后是 distance 的值。

此行执行 main 后返回,您的程序退出。为什么您希望它打印其他任何东西?

如果您需要从文件中获取更多值,那么您需要使用一个循环,将整个过程包装在一个循环中,该循环从文件中读取直到它完成整个事情。像这样的东西:

inputFile.open("05.txt");
int time;
while(inputFile >> time) {     
    distance = fallingDistance (time);
    cout << time << "\t\t" << distance << endl;
}

附带说明一下,main 由标准定义为具有 int 的返回类型,而不是 void。省略参数(int argcchar *argv[])就可以了。

关于c++ - 程序只读取第一行! C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13370906/

相关文章:

c++ - 从继承类 C++ 获取模板类型

Java数组越界-数独

php - 分解 XML 文件

c++ - 更新 : Memory Location being outputted instead of desired string

oracle - 使用 Oracle trunc() 的结果奇怪?

C++ 包含目录 "file not found"

c++ - 如何使用 reinterpret_cast 转换为 C++ 中的派生类指针

c++ - sizeof 数组结构错误

c# - 从数组中只选择最好的项目

r - 将列表应用于输出数据帧的函数