【发布时间】:2013-03-15 14:11:37
【问题描述】:
这是我到目前为止的代码。我正在从输入文件中获取数据。该文件包含我调用的每个变量所需的所有数据,但是当我运行它时,我只得到一次迭代,然后退出循环。我需要它一直运行到文件末尾。
#include <iostream>
#include <fstream>
#include <string>
#include <cmath>
using namespace std;
int main ()
{
ifstream pTemp("PlanetCelsius.dat");
int pNumber, pSize;
string pName;
double cTemp, fTemp;
cout << "Number\t" << "Planet Name\t" << "Diameter\t" << "Celsius\t" << "Fahrenheit" << endl;
while (pTemp >> pNumber)
{
while (pTemp >> pName)
{
while (pTemp >> pSize)
{
while (pTemp >> cTemp)
{
pTemp >> pNumber;
cout << pNumber << " ";
}
pTemp >> pName;
cout << pName << " ";
}
pTemp >> pSize;
cout << pSize << " ";
}
pTemp >> cTemp;
fTemp = 9 * (cTemp) / 5 + 32;
cout << cTemp << " " << fTemp << endl;
}
system ("PAUSE");
return 0;
}
【问题讨论】:
-
我建议您为您的问题找到一个更具描述性的标题...这里的大多数人(包括我在内)都会就我们自己的错误或问题提出问题。
-
用 cout 开始调试
-
我建议您将您正在使用的编程语言添加到标签中。通过进入帖子我可以清楚地看到它是 C++,但我认为如果你添加它,你可以获得更多结果和更快的方式。
-
问自己一个问题:“哪个循环只运行一次,哪些循环运行多次次?”仔细考虑您想要做什么以及您的代码实际上在做什么以及您是否需要 所有 那些
while循环。作为旁注,请don't usesystem("pause") -
我看到一个箭头。 Do you see it?
标签: c++ loops while-loop file-io