找回密碼 或 安全提問
 註冊
|註冊|登錄

伊莉討論區

搜索
尊貴會員無限使用任何功能你準備好成為出色的版主了嗎?安全提問(回答) 和 永久尊貴會員 事宜
三上悠亜我的英雄gecosplay強姦惡靈古堡
snis 744運命線上pppe 211ドージン淫魔大戦曾瑋中dungeon'

休閒聊天興趣交流學術文化旅遊交流飲食交流家庭事務PC GAMETV GAME
熱門線上其他線上感情感性寵物交流家族門派動漫交流貼圖分享BL/GL
音樂世界影視娛樂女性頻道潮流資訊BT下載區GB下載區下載分享短片
電腦資訊數碼產品手機交流交易廣場網站事務長篇小說體育運動時事經濟
上班一族博彩娛樂

(4月新番)[繁]夜櫻家

[繁]怪物轉生 Re:Mons

(4月新番)[繁]神明渴

(4月新番)[繁]搖曳露

[繁]我的英雄學院 Mem

[繁]戰隊大失格03-
C & C++ 語言C# 語言Visual Basic 語言PHP 語言JAVA 語言
查看: 1840|回復: 6
打印上一主題下一主題

[問題]關於程式計算字串中大小寫字母 數字 跟中文字的個數並顯示[複製鏈接]

Rank: 1

帖子
248
積分
83 點
潛水值
4403 米
跳轉到指定樓層
樓主
發表於 2011-11-15 12:26 AM|只看該作者|倒序瀏覽
若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。
例如:
請輸入原始字串:I love C++語言及VC2008
大寫字母個數:4
小寫字母個數:4
中文字個數:3
數字個數:3

可以麻煩各位大大給個方向嗎?
關於程式偵測有幾個大小寫字母跟數字 中文字~
我不知道要怎麼打....
不好意思 新手多包含
分享分享0收藏收藏0支持支持0
回覆中加入附件並不會使你增加積分,請使用主題方式發佈附件。

使用道具檢舉

Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

帖子
2979
積分
12825 點
潛水值
41478 米
頭香
發表於 2011-11-15 01:03 AM|只看該作者
這問題真不好解,要考慮字集編碼與 compiler 會不會雞婆亂搞,
但第一個要附上的,應就是編譯器為何。
如果我說,灌了二頁的水是因為lag / 系統不穩,
我想應該也不會有人相信吧..

使用道具檢舉

Rank: 1

帖子
248
積分
83 點
潛水值
4403 米
3
發表於 2011-11-15 12:31 PM|只看該作者
回覆中加入附件並不會使你增加積分,請使用主題方式發佈附件。
我使用的版本是~dev c++ 4.9.9.2 的 ....
如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。

使用道具檢舉

Rank: 3Rank: 3Rank: 3

帖子
722
積分
2721 點
潛水值
16557 米
4
發表於 2011-11-15 03:39 PM|只看該作者
  1. #include <stdlib.h>
  2. #include <iostream>
  3. #include <string>

  4. using namespace std;

  5. enum{
  6.     NUM = 0,
  7.     UPPER,
  8.     LOWER,
  9.     CHINESE,
  10.     COUNT
  11. };

  12. int main()
  13. {
  14.     setlocale( LC_ALL, "cht" );

  15.     cout << "請輸入原始字串:";
  16.     string str;
  17.     getline( cin, str );
  18.     int counter[COUNT] = { 0 };
  19.     unsigned char c = 0;
  20.     for( int i=0; i<str.length(); ++i ){
  21.         c = str[i];
  22.         if( c >= '0' && c <= '9' ){
  23.             ++counter[NUM];
  24.         }
  25.         else if( c >= 'A' && c <= 'Z' ){
  26.             ++counter[UPPER];
  27.         }
  28.         else if( c >= 'a' && c <= 'z' ){
  29.             ++counter[LOWER];
  30.         }
  31.         else if( c >= 0x80 ){
  32.             ++counter[CHINESE];
  33.             ++i;
  34.         }
  35.     }
  36.    
  37.     char* text[COUNT] = { "數字:","大寫:","小寫:","中文:" };
  38.     for( int i=0; i<COUNT; ++i ){
  39.         cout << text[i] << counter[i] << endl;
  40.     }

  41.     system( "pause" );
  42.     return 0;
  43. }
複製代碼
...
瀏覽完整內容,請先 註冊登入會員
如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。

使用道具檢舉

Rank: 1

帖子
248
積分
83 點
潛水值
4403 米
5
發表於 2011-11-16 11:42 PM|只看該作者
感謝大大~~我仙複製起來慢慢研究~
說真的漫多地方我看不懂得~~@@"




若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。

使用道具檢舉

ohha0221 該用戶已被刪除
6
發表於 2011-11-18 12:23 AM|只看該作者
這邊有個問題耶
你要怎麼確保你得到的字串 是你認知上的字串?

也許輸入的是Unicode 或是 Ascii 或是 其他國家的編碼
那在程式中 你的承接字串的變數
就必須也要支援Unicode的編碼
否則判斷出來的值
就有可能誤判....
所有積分大於負-100的壞孩子,將可獲得重新機會成為懲罰生,權限跟幼兒生一樣。

使用道具檢舉

Rank: 1

帖子
68
積分
196 點
潛水值
21558 米
7
發表於 2011-11-18 01:58 AM|只看該作者
回覆中加入附件並不會使你增加積分,請使用主題方式發佈附件。
#6
如果還要考慮 Unicode ,那是不是還要考慮是 UTF 全家族成員呀(UTF-8, UTF-16, UTF-32, and more),再來還有有沒有 BOM 碼的差異
真要全部處理起來太繁瑣了,所以其實可以先假設他們用 ANSI 編碼,之後有要更進階時才需要再思索該如何進行下去

使用道具檢舉

您需要登錄後才可以回帖 登錄 | 註冊

Powered by Discuz!

© Comsenz Inc.

重要聲明:本討論區是以即時上載留言的方式運作,對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿上傳和撰寫 侵犯版權(未經授權)、粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。
回頂部