最近开始学习c++用dev编写为什么编译通过运行的时候dos窗口就闪一下就没了

之前编写的直接输出也出现过这样的问题但是写入cin。get();就可以了但是加入变量之后输入完变量还是闪一下就没了求高手帮帮忙我写的程序是这样的;#include<ios... 之前编写的直接输出也出现过这样的问题但是写入cin。get();就可以了 但是加入变量之后输入完变量还是闪一下就没了 求高手帮帮忙我写的程序是这样的;
#include <iostream>
using namespace std;
int main()
{
char name[20];
char gender;
int age;
cout<<"请输入姓名、性别(M/F)和年龄;" <<endl;
cin >> name >> gender >> age;
cout << "姓名;" << name << endl;
cout << "性别" << gender << endl;
if (age>=0)
cout << "出生年份;" << 2013-age <<endl;
if(age<0)
getchar ();
return 0;

}
展开
 我来答
百度网友b0bba24
2013-03-17 · TA获得超过887个赞
知道小有建树答主
回答量:446
采纳率:0%
帮助的人:466万
展开全部
if(age<0)
getchar ();//这句是if语句里的,你的age>=0了,当然不会执行这句了,修改如下
return 0;
改成
if(age<0)
cout<<"cuowu";//这里你自己想怎么写就怎么写,如果不想写,就写个分号,或者去掉if语句
getchar ();
return 0;
更多追问追答
追问
去掉了还是不行啊,程序是等我输入变量信息之后按回车之后又闪一下就没了
追答
改成
if(age<0)
cout<<"cuowu";//这里你自己想怎么写就怎么写,如果不想写,就写个分号,或者去掉if语句
cin.sync();//这个用来清除缓存区,之前因为你输入数据后回车了,回车符还在缓存区中,
//这个回车符就直接被getchar()取得了。加了这句,就把缓冲区的内容清除了
getchar ();
return 0;
pengwadewang
2013-03-17 · TA获得超过106个赞
知道答主
回答量:55
采纳率:0%
帮助的人:43.2万
展开全部
if(age<0)
getchar ();
return 0;

把这里的 if(age<0) 去掉 就不会退出了
程序会停在 getchar (); 等待字符输入。
追问
还是会退出啊 !程序是等我输入 名字 性别和 年龄的时候 在按一下回车就又闪了一下就没了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
matrix2012love
2013-03-17 · 超过20用户采纳过TA的回答
知道答主
回答量:93
采纳率:0%
帮助的人:55.5万
展开全部
编译后运行就行了,这有什么好纠结的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fyxloveenna
2013-03-17
知道答主
回答量:17
采纳率:0%
帮助的人:6.4万
展开全部
再最后面加一个System("pause");就可以了
追问
不行啊 加这句就编译通不过啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式