討論區快速選單
知識庫快速選單
討論區最近新進100則主題 程式設計俱樂部Facebook粉絲團
[ 回上頁 ] [ 討論區發言規則 ]
拜託各位大神 求解 寫字串分解程式
更改我的閱讀文章字型大小
作者 : zzz123256(ark256314)
[ 貼文 1 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/12/4 上午 02:16:44
題目如下:
請撰寫一個字串分解程式, 需求如下:
• 使用者若只輸入一字元, 則使用預設字串: “Hello World, John Doe, Jane-Doe, a0 123”
• 使用者最多可輸入99字元, 讀入字串範例程式如下:
o char Q1[100];
o string Q = " Hello World, John Doe, Jane-Doe, a0 123";
o cin.getline(Q1, 99);
o if(strlen(Q1) > 1) Q = Q1;
o // 接著程式處理Q字串變數
• 此程式必須將輸入的字串拆解, 個別顯示成為許多小字串
• 個別顯示的小字串只可包含大寫字母, 小寫字母, 阿拉伯數字

作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4467 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/12/4 上午 09:33:37
請撰寫一個字串分解程式, 需求如下:
• 使用者若只輸入一字元, 則使用預設字串: “Hello World, John Doe, Jane-Doe, a0 123”
• 使用者最多可輸入99字元, 讀入字串範例程式如下:
o char Q1[100];
o string Q = " Hello World, John Doe, Jane-Doe, a0 123";
o cin.getline(Q1, 99);
o if(strlen(Q1) > 1) Q = Q1;
o // 接著程式處理Q字串變數
• 此程式必須將輸入的字串拆解, 個別顯示成為許多小字串
• 個別顯示的小字串只可包含大寫字母, 小寫字母, 阿拉伯數字

--- for you reference :
1. Declare a string variable , such likes String str ;
2. using cin object to get the string str , such likes cin << str ;
3. Justify the length of str - str.size() ; if its value is one , print out the default string cout << " Hello World, John Doe, Jane-Doe, a0 123";
4. Otherwise , handle the string via above rule - those substring should contains Uppercase / Lowercase/Digits .
5. About step 4, you may use a vector container with 99 elements and its type is string , such likes std::vector<std::string> substr ; and before using it , please include vector class and put this statement on the beginning part of your program , likes this #include <vector>
6. Again, please initialize them.
7. Check all characters of string str from first location to last location ; Uppercase (ABCD...Z) , lowercae (abcde...xyz) and 0,12,3,4,5,6,7,8,9 .
    you may use member function - compare to justify Upper/Lower Cases and digits and get the position via at member function
    and copy those characters via copy member function then push them to substr .
8. print those substr one by one and check them are correct


作者 : edgarye(edgarye)
[ 貼文 15 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 18 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/6/11 下午 06:02:31
可以看看 strtok 這個函式~
作者 : sflam(Raymond)討論區板主 Visual C++ .NET卓越專家VC++一代宗師新手入門優秀好手資訊類作業求救頂尖高手C++一代宗師貼文超過4000則
[ 貼文 4945 | 人氣 9172 | 評價 32290 | 評價/貼文 6.53 | 送出評價 142 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/6/11 下午 09:21:46
>題目如下:
>請撰寫一個字串分解程式, 需求如下:
> 使用者若只輸入一字元, 則使用預設字串: “Hello World, John Doe, Jane-Doe, a0 123”
> 使用者最多可輸入99字元, 讀入字串範例程式如下:
>o char Q1[100];

Q1 可以用 std::string 來存, 輸入限制可以遲些才處理, 不必現在就自我設限.


>o string Q = ' Hello World, John Doe, Jane-Doe, a0 123';
>o cin.getline(Q1, 99);

請看 istream 的 getline() 成員說明. 第二個參數包括終結字元, getline(..., n) 最多會讀取 n-1 個字元. 所以你的程式最多能輸入的值有 98 個字元.

如果 Q1 是 std::string, 那你可以用這個來讀:
  std::getline(std::cin, Q1);

然後再取前 99 個字元, 至少有兩個方法:
  Q1 = Q1.substr(0, 99);

  if (Q1.length() > 99) // erase 會 throw, 所以要檢查
    Q1.erase(99); // 保留 Q1[0...98]


>o if(strlen(Q1) > 1) Q = Q1;
>o // 接著程式處理Q字串變數
> 此程式必須將輸入的字串拆解, 個別顯示成為許多小字串
> 個別顯示的小字串只可包含大寫字母, 小寫字母, 阿拉伯數字

不外就是個別的檢查字元, 有標準函式可以用: std::isalnum() (標準頭檔 <cctype>).

 板主 : Daniel
 > 資訊類作業 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - 資訊類作業 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
資訊類作業
1 Raymond 4540 
2 Ben 2880 
3 青衫 2260 
4 ozzy 1540 
5 HKLN.net 1010 
6 Daniel 780 
7 joe 740 
8 小朱 570 
9 Benson 440 
10 鬼翼@娃娃魚 400 
資訊類作業
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.0625