C++中如何判斷輸入字符串中是否全為數(shù)字?
聲明:本文的內(nèi)容僅供學(xué)習(xí)參考使用
在看黑馬程序員的C++課程黑馬程序員C++教程從0到1入門編程這節(jié)課時應(yīng)該有人會有這樣的疑惑:通訊錄管理系統(tǒng)中添加聯(lián)系人時輸入性別和年齡時如果輸入了字母或者其他字符,就會報錯或者無限循環(huán),以下內(nèi)容提供一個解決思路。
首先,寫一個判斷字符串內(nèi)容的函數(shù):

這個函數(shù)將鍵盤輸入的內(nèi)容以字符串的形式處理,首先將字符串轉(zhuǎn)換成字符,然后通過循環(huán)調(diào)用isdigit()這個內(nèi)置函數(shù)判斷字符串中是否有除數(shù)字之外的字符;
其次是在添加聯(lián)系人函數(shù)中性別對輸入的處理:

這段代碼將輸入的內(nèi)容以string類型存儲,利用上述函數(shù)返回的bool值判斷是否輸入有誤,如果沒有錯誤就將信息傳遞給結(jié)構(gòu)體中的變量;
最后是在添加聯(lián)系人函數(shù)中年齡對輸入的處理:

這段代碼將輸入的內(nèi)容以string類型存儲,利用上述函數(shù)返回的bool值判斷是否輸入有誤,如果沒有錯誤就將輸入的字符串用內(nèi)置的atoi()函數(shù)轉(zhuǎn)換為int型,再判斷轉(zhuǎn)換后的數(shù)據(jù)是否在許可范圍之內(nèi),注意此處的注釋,最后將正確的數(shù)據(jù)傳入結(jié)構(gòu)體變量。
以上內(nèi)容是個人的一些拙見,水平很淺薄,歡迎大佬點評~