首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

帮忙看看一段简单的代码,多谢

2012-03-12 
帮忙看看一段简单的代码,谢谢cout要输入下一个数据吗(Y/N)endlchar choicechoicegetchar()if(ch

帮忙看看一段简单的代码,谢谢

cout<<"要输入下一个数据吗 (Y/N)"<<endl;
char choice;choice=getchar();
if(choice=='Y'|| choice=='y') 
{省略 }


我的目的是当用户按Y键的时候,就执行里面的代码,但编译运行后发现,显示完“要输入下一个数据吗”之后就直接显示“Press any key to continue”了,再按任意一键就直接结束运行了。这是怎么回事啊,怎样才能达到我的目的呢?

[解决办法]
因为你一般输入结果的时候没有把最后一个回车给算了
如果
int i = 0;
cin>>i;
其实当你输入完4后面要加一个回车。。于是getchar()得成回车了

[解决办法]
老问题啦, cout后面 fflush(stdin);
[解决办法]

C/C++ code
#include <iostream>using namespace std;int main (int argc, char const* argv[]){            char choice = '\0';    int i = 0;    cout<<"input i..."<<endl;    cin>>i;    cout<<"i = "<<i<<endl;        fflush( stdin );        cout<<"要输入下一个数据吗 (Y/N)"<<endl;    choice=getchar();    if(choice=='Y'|| choice=='y')      {         cout<<"got you...."<<endl;        }    return 0;}
[解决办法]
3楼说的fflush没错,那是C的用法
C++的iosteam里,你可以试一下cin.clear()

热点排行