廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 5976 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
星辰雪
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x82
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[C/C++][教學] 辨識所輸入變數
問題描述:
判斷輸入變數的形式

輸入說明:
可輸入整數 浮點數 字元 字串

輸出說明:
判斷輸入的是哪種形式 以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 = ..

訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容



[ 此文章被星辰雪在2011-03-16 01:14重新編輯 ]



「在現實孤獨而痛苦的我啊,跟隨著她走吧!因為你就像是落葉,毫無目的的落下,而她是只屬於你的那陣風,將帶你的心飛向自由。」
獻花 x1 回到頂端 [樓 主] From:臺灣中華電信股份有限公司 | Posted:2011-03-04 23:42 |
totsi
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x53
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

有個小問題好奇問一下~
在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 回到頂端 [1 樓] From:台灣中華電信 | Posted:2011-03-07 09:33 |
星辰雪
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x82
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

謝謝建議

我會參考建議 測試一下
因為我也是新手@@
所以可能寫出來的程式
會不怎麼 正確....

關於 第2點
請問一下我該怎麼改進
會比較好

-----
研究了一下
發現 isalpha()
滿好用的~


[ 此文章被星辰雪在2011-03-08 00:14重新編輯 ]


「在現實孤獨而痛苦的我啊,跟隨著她走吧!因為你就像是落葉,毫無目的的落下,而她是只屬於你的那陣風,將帶你的心飛向自由。」
獻花 x0 回到頂端 [2 樓] From:台灣中華電信 | Posted:2011-03-07 23:46 |
totsi
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x53
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

關於第2點,就是不管讀入/輸入的資料多長,一樣就是用isalpha()來判斷是否為文字。
所以其實您的作法可以不需要考慮長度了。
這樣說,會不會太籠統?XD

但以上作法,僅適用於非Multi-bytes的文字喔^^m


恩...
獻花 x0 回到頂端 [3 樓] From:台灣中華電信 | Posted:2011-03-08 14:21 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.055532 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言