題目1:這個程式將向使用者提出乙個「y/n」問題,然後把使用者輸入的值賦值給answer變數。
要求:---針對使用者輸入的「y」或「y」和「n」或「n」進行過濾;
---發掘程式可能存在的任何問題,想想為什麼?
#include using namespace std;
int main()
cin.ignore(100, '\n');
cout << "輸入任何字元結束程式!" << endl;
cin.get();
return 0;
}
重點內容:
1、為什麼要用cin.ignore()
在debug檔案下雙擊執行exe檔案時,輸入答案後命令視窗一閃而過,這是因為cin.get()接收的是上一次的換行符,實現不了暫停的功能,於是加上cin.ignore(100, '\n'); 接收100個字元後才忽略
題目2:編寫乙個"溫度單位轉換程式",提示使用者已【xx.x c】或【xx.x f】的格式輸入.
#include using namespace std;
int main()
{ //華氏溫度=攝氏溫度*9.0/5.0+32
const unsigned short add_subtract = 32; //靜態變數
const double ratio = 9.0 / 5.0;
double tempin, tempout;
char typein, typeout;
cout << "請以[xx.x c]或者[xx.x f]格式輸入乙個溫度: " <> tempin >>typein;
cin.ignore(100, '\n');
cout <對輸入資料進行合法性檢查:
對輸入資料進行合法性檢查的具體做法取決於具體的變數型別和它們的取值範圍.
解決這些問題的辦法之一就是對cin呼叫的結果不要做任何假設,cin物件有幾個專門用來報告情況的成員函式,
它們將返回乙個真假值來表明cin的狀態
----eof() 如果到達檔案(或輸入)末尾,返回true
----fail() 如果cin無法工作,返回true
---bad() 如果cin因為比較嚴重的原因(例如記憶體不足)而無法工作,返回true
---good() 如果以上情況都沒發生,返回true
小甲魚 C 快速入門筆記 19 之訪問控制
在此前的例子中,我們無論是animal,pig和turtle類的所有成員都是用public 語句宣告。注意 1 一定要記住使用這些訪問級別,即使只有你乙個人再開發某個專案,全部記住各個類的呼叫方法也是一件困難的事情 2 給每個方法和屬性加上protected或private訪問級別,就由編譯器替你記...
小甲魚 C 快速入門筆記 49 之迭代器
引言 上節課我們的例子雖然工作得很好並也使用了乙個標準的容器 向量容器 但它還是有個小問題,就是在遍歷向量裡的各個元素時,我們仍把它視為乙個c 陣列來對待.剛好我們的向量容器允許使用下標操作符來訪問它的各個元素 name x 因為對容器裡的各個元素進行遍歷是一種十分常見的任務,所以應該有一種標準的方...
小甲魚 C 快速入門筆記 48 之迭代器
引言 上節課我們的例子雖然工作得很好並也使用了乙個標準的容器 向量容器 但它還是有個小問題,就是在遍歷向量裡的各個元素時,我們仍把它視為乙個c 陣列來對待.剛好我們的向量容器允許使用下標操作符來訪問它的各個元素 name x 因為對容器裡的各個元素進行遍歷是一種十分常見的任務,所以應該有一種標準的方...