vc++中的getchar();;

一个vc++简单的程序:/************************************************************************... 一个vc++简单的程序:

/**********************************************************************
************求二次方程的解*********************************************
***********************************************************************/
#include<iostream>
#include<cmath>
using namespace std;
void main()
{float a,b,c;
loop:
cout<<"Enter the coefficients of a quadratic equation:"<<endl;
cout<<"输入数值a=";
cin>>a;
cout<<"输入数值b=";
cin>>b;
cout<<"输入数值c=";
cin>>c;
cout<<"the equation is: "<<a<<"*x*x+"<<b<<"*x+"<<c<<"=0"<<endl;
float d=b*b-4*a*c;
if (d<=0)
{
cout<<"输入有误!"<<endl;
getchar();
goto loop;
}
float x1=(-b+sqrt(d))/(2*a);
float x2=(-b-sqrt(d))/(2*a);
cout<<"输出解!"<<endl;
cout<<"解一: x1="<<x1<<endl;
cout<<"解二: x2="<<x2<<endl;
cout<<"检查解:"<<endl;
cout<<"\t a*x1*x1+b*x1+c="<<a*x1*x1+b*x1+c<<endl;
cout<<"\t a*x2*x2+b*x2+c="<<a*x2*x2+b
/*****输入1, 3,2**************/
}

运行希望再getchar()的地方能停下来,可是运行却直接输出提示后到goto标记处去了,为什么getchar()没有起到暂停的作用????请大虾指教一下!!
展开
 我来答
z3w1h4
2008-11-16 · TA获得超过639个赞
知道小有建树答主
回答量:418
采纳率:0%
帮助的人:283万
展开全部
我貌似知道这个问题的答案
cin>>c;之后getchar()会吃掉c之后的那个回车;而不会等待新的回车
所以再加一个getchar()就可以了
注:貌似cin完之后;读入的光标实际上是停在cin读入的c的后面;这时如果是用cin.get或cin.getline或getchar之类的东西再读入,就会吃进c后面的回车;而如果用cin读入,因为cin本身是会略过回车读入的,所以对cin不会有影响
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式