引用 | 編輯
星辰雪
2011-03-04 23:42 |
樓主
▼ |
||
x0
問題描述:判斷輸入變數的形式 輸入說明: 可輸入整數 浮點數 字元 字串 輸出說明: 判斷輸入的是哪種形式 以int float char string 分別表示 以下為C++寫法 需要新增一個筆記本 名稱為 input 裡面可以輸入 想要辨識的 int float char string char s ; void type(char b,int n); int main(int argc, char *argv[]) { ifstream fin; // 開啟檔案 fin.open("input.txt"); // for (int i = 0; i < 1000; i++){ fin >> s; int m,k = 0; m = .. 訪客只能看到部份內容,免費 加入會員 x1
|
引用 | 編輯
totsi
2011-03-07 09:33 |
1樓
▲ ▼ |
有個小問題好奇問一下~
在ptr2不是string的情況下都會在進行dot的尋找的動作。 那麼prt裡面搜尋的字串,為什麼還要多一個dot呢? 然後一點小小建議~ 1.在判定是否為數字的部份,可以使用isalpha(char c)來判定是否為數字,所以也就可以不用自己建立數字字串來搜尋了。 因為純數字的部份的第一位數,絕對不會是非數字型文字,以及特殊符號。 因此在判定的時候,先用!isalpha()判定第一位數值是不是數字,是的話,就再利用strpbrk()判定是否為浮點。 不過要小心的是isalpha()只能輸入一個char,所以當multi-byte的文字要填入的時候,會造成誤判。所以這邊要換別的方式檢查。 2.還有就是,長度為一的時候也有可能為數字喔XDD。 3.檔案路徑內部可以塞dot,所以如果要建立搜尋清單的話,記得要把dot加到字串判斷裡面。但這邊會造成浮點的誤判,所以還是會建議用isalpha()來判定是否為數字。 以上大概是一些小小建議 PS.看起來strpbrk()還蠻好用的說~~XDD x2 |