您现在的位置: 天下网吧 >> 网吧天地 >> 天下码农 >> 微信小程序 >> 正文

Blocks下的第一个C++程序

2008-11-6中国自学编程网佚名
main.cpp:
#include <iostream>
#include <exception>

using namespace std;

class Test
{
public:
string name;
long id;
bool pass;
public:
void getUser()
{
pass=false;
while(pass==false)
{
try{
pass=true;
cout<<"Input your id:"<<endl;
cin>>id;
if(cin.fail()) //判读输入是不是正确的
{
throw new exception;
}
cout<<"Input your name:"<<endl;
cin>>name;
//下面是不用异常处理方法做的。注意里面的continue,其实这是针对上面cin>>id写的。
if(cin.fail())
{
pass=false;
cin.clear();
cout<<"Your name is wrong,please input again!"<<endl;
continue;
}
}catch(exception* e)//这里要用exception*不然会编译会出错
{
pass=false;
cout<<"Your inputing is wrong,please input again!"<<endl;
cin.clear();//cin.clear()方法很重要,如果不掉用,则cin异常不会终止,那么程序就进入了死循环
delete e;
}
}

}
void display()
{
cout<<"This is my first class processed in linux!"<<endl;
cout<<"my name is "<<name<<endl;
}
};
int main()
{
Test* tt= new Test();
tt->getUser();
tt->display();
return 0;
}

笔记:
1.注意函数cin.fail()的用处。
2.注意函数cin.clear()的用法(有注释)。
3.注意catch中的exception*。
3.getUser()这个函数目的是为了检测输入异常。这里可以是一个c++中异常处理的实例,网上很多人士说建议不要使用c++中的异常处理机制,不知道什么原因。所以我就在cin>>name下面实现了不用异常处理的方法,但是写的代码比较多。同时,这个方法处理完输入异常后会做一个循环,直到你输入正确的内容。   

欢迎访问最专业的网吧论坛,无盘论坛,网吧经营,网咖管理,网吧专业论坛 https://bbs.txwb.com

关注天下网吧微信/下载天下网吧APP/天下网吧小程序,一起来超精彩

本文来源:中国自学编程网 作者:佚名

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系邮箱:support@txwb.com,系统开号,技术支持,服务联系QQ:1175525021本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧 网吧天下