为什么输入年龄n之后再回车窗口就关闭了?不合理啊

hghgkjkkrttr 2016-07-15 09:49:06
#include <iostream>
#include <string>
int main()
{
using namespace std;

cout<<"What is your first name?";
string strFirstname;
getline(cin,strFirstname);

cout<<"What is your last name? ";
string strLastname;
getline(cin,strLastname);

cout<<"What letter grade do you deserve? ";
char ch;
cin>> ch;
cin.get();
ch=ch+1;

cout<< "What is your age? ";
int n;
cin>> n;
cin.get();

cout <<"Name:"<<" strLastname, strFirstname \n";
cout <<"Grade:"<<'ch\n';
cout <<"Age:"<<n;
return 0;
}
...全文
117 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lm_whales 2016-07-23
  • 打赏
  • 举报
回复
cin.get();位置不对,后面的程序,直接执行完毕,结束控制台的运行 一闪就不见了要想看到结果,就要放在后面,return 语句之前 你在后面加一个 cin.get(); 另外,system("pause"); 效果和cin.get() 一致 都是等待键盘输入而已,没有严重区别。 他有时候,一样也会不起作用。 要让程序老老实实呆着 判断输入的数据,比如是q键 才退出, 否则一直循环等待输入,就可以了。
zhanghow 2016-07-23
  • 打赏
  • 举报
回复
因为程序正常结束了啊。 你的cin.get();又没有办法使得程序等待输入(因为它会读走输入缓冲区残留的回车符) 在return 0;前面加一句system("pause");
Sigmele 2016-07-22
  • 打赏
  • 举报
回复
在你需要暂停的位置加system("pause"); 程序运行到这里就会暂停,按回车则继续运行
penghuahuijuan 2016-07-16
  • 打赏
  • 举报
回复
程序感觉是正确的,只是执行完直接退出了,可以设断点调试,查看结果
小灸舞 2016-07-16
  • 打赏
  • 举报
回复
因为程序正常结束了啊。
你的cin.get();又没有办法使得程序等待输入(因为它会读走输入缓冲区残留的回车符)
在return 0;前面加一句system("pause");

65,186

社区成员

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

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