程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> Blocks下的第一個C++程序

Blocks下的第一個C++程序

編輯:關於C++

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下面實現了不用異常處理的方法,但是寫的代碼比較多。同時,這個方法處理完輸入異常後會做一個循環,直到你輸入正確的內容。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved