请达人帮看看,

shazina 2009-09-20 08:57:48
这段代码的输入格式 T 30 D 25
T 30 D 15
E
当输入E的时候结束输入,而下面这段代码,输入了E并没有结束输入,而是要输入2次E才能结束,请达人帮看看是什么问题。
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int a,b,m=0,n,i=0,j,k=0;
float x,y,z,tem[1000],dew[1000],hum[100],h,l,humidex;
string F,G,t="T",d="D",e="E",v="H";
do{
cin>>F>>x>>G>>y ;
if(F==t&&G==d)
tem[i]=x,dew[i]=y;
else if(F==d&&G==t)
tem[i]=y,dew[i]=x;
i++;
if(F==e)
break;

}while(m<=1000);
j=i-1;
i=0;
do{
z=6.11*pow(2.718281828, 5417.7530*((1/273.16) - (1/(dew[i]+273.16))));
h=tem[i]+(0.555)*(z -10.0);
hum[i]=h;
cout.precision(1);
cout<<fixed<<t<<" "<<tem[i]<<" "<<d<<" "<<dew[i]<<" "<<v<<" "<<hum[i]<<endl;
i++;
j--;
}while(j>0);
system ("pause");
}
...全文
65 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wendll 2009-09-20
  • 打赏
  • 举报
回复
2楼正解吧
shazina 2009-09-20
  • 打赏
  • 举报
回复
2楼的是对滴~~~~~~~多谢了
weixiaoshashou 2009-09-20
  • 打赏
  • 举报
回复
楼主你声明一些没用的变量干什么啊?
shazina 2009-09-20
  • 打赏
  • 举报
回复
不对额。~~(╯﹏╰)b
brookmill 2009-09-20
  • 打赏
  • 举报
回复
cin>>F>>x>>G>>y ;
输入了第三行的E之后,它在等你输入后面的x

这样改吧:
do{
cin>>F;
if(F==e)
break;
cin>>x>>G>>y ;
if(F==t&&G==d)
tem[i]=x,dew[i]=y;
else if(F==d&&G==t)
tem[i]=y,dew[i]=x;
i++;
}while(m <=1000);
mengde007 2009-09-20
  • 打赏
  • 举报
回复
if(F=="e")

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧