我的程序应该使用.txt文件作为输入(时间以秒为单位1到10)来计算下落物体的距离。文本文件如下:
1 2 3 4 五 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...
提前致谢!
答案 0 :(得分:3)
cout << time << "\t\t" << distance << endl;
您首先从输入文件中读取int
。接下来,使用distance
初始化time
。然后,您打印的值为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 argc
和char *argv[]
)很好。