Board logo

標題: [隨堂測驗]substr()函式&find() 函式&replace() 函式 [打印本頁]

作者: 李泳霖    時間: 2024-7-18 13:09     標題: [隨堂測驗]substr()函式&find() 函式&replace() 函式

本帖最後由 李泳霖 於 2024-8-22 13:48 編輯

[attach]19065[/attach]

[attach]19066[/attach]

[attach]19067[/attach]

[attach]19068[/attach]

[attach]19069[/attach]

[attach]19070[/attach]

[attach]19071[/attach]

[attach]19072[/attach]
  1. cout<<"請輸入你需要的功能:"<<endl;
  2. cout<<"(1)字串擷取(2)尋找字母或字串位置(3)取代功能:";
  3. cout<<"請輸入字串:";
  4. cout<<"請輸入起始編號:";
  5. cout<<"需要抓取幾個字:";
  6. cout<<"請勿亂輸入"<<endl;
  7. cout<<"請輸入字串:";
  8. cout<<"請輸入要尋找的字元或英文字母:";
  9. cout<<"找不到此字元或字母"<<endl;
  10. cout<<"字元"<<___<<"的索引位置(由前往後找):"<<___<<endl;
  11. cout<<"請輸入字串:";
  12. cout<<"請輸入要從哪個編號開始取代:";
  13. cout<<"查無此編號"<<endl;
  14. cout<<"請輸入取代幾個:";
  15. cout<<"不可取代"<<endl;
  16. cout<<"請輸入取代幾個:";
  17. cout<<"請輸入取代為哪個字元或字串:";
  18. cout<<"無此功能"<<endl;
複製代碼
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5.     int a,s,r;
  6.     int res;
  7.     char c;
  8.     string str,s1;
  9. re:
  10.     cout<<"請輸入您需要的功能:"<<endl;
  11.     cout<<"(1)字串擷取(2)尋找字母或字元位置(3)取代功能:";
  12.     cin>>a;
  13.     switch(a)
  14.     {
  15.     case 1:
  16.         cout<<"請輸入字串:";
  17.         cin>>str;
  18.         cout<<"請輸入起始編號:";
  19.         cin>>s;
  20.         cout<<"需要抓取幾個字:";
  21.         cin>>r;
  22.         if(r>=0 && r+s<=str.length())
  23.             cout<<str.substr(s,r)<<endl;
  24.         else
  25.             cout<<"請勿亂輸入!"<<endl<<endl;
  26.         break;
  27.     case 2:
  28.         cout<<"請輸入字串:";
  29.         cin>>str;
  30.         cout<<"請輸入要尋找的字元或英母:";
  31.         cin>>c;
  32.         res=str.find(c);
  33.         if(res==-1)
  34.             cout<<"找不到此字元或字母"<<endl<<endl;
  35.         else
  36.             cout<<"字元"<<c<<" 的索引位置 (由前往後查找): "<<res<<endl;
  37.         break;
  38.     case 3:
  39.         cout<<"請輸入字串:";
  40.         cin>>str;
  41.         cout<<"請輸入要從哪個編號開始取代:";
  42.         cin>>s;
  43.         if(s>str.length())
  44.         {
  45.             cout<<"查無此編號"<<endl<<endl;
  46.             goto re;
  47.         }

  48.         cout<<"請輸入取代幾個:";
  49.         cin>>r;
  50.         if(s+r>str.length())
  51.         {
  52.             cout<<"不可取代"<<endl<<endl;
  53.             goto re;
  54.         }
  55.         cout<<"請輸入取代為什麼字元或字串:";
  56.         cin>>s1;
  57.         cout<<str.replace(s,r,s1)<<endl;
  58.         break;

  59.     default:
  60.         cout<<"請勿亂輸入"<<endl;
  61.     }
  62.     cout<<endl;
  63.     goto re;
  64.     return 0;
  65. }
複製代碼
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5.     re:
  6.     int n,u,m;
  7.     string s,t;
  8.     cout<<"請輸入你需要的功能:"<<endl;
  9.     cout<<"(1)字串擷取(2)尋找字母或字串位置(3)取代功能:";
  10.     cin>>n;
  11.     if(n==1){
  12.         cout<<"請輸入字串:";
  13.         cin>>s;
  14.         cout<<"請輸入起始編號:";
  15.         cin>>u;
  16.         cout<<"需要抓取幾個字:";
  17.         cin>>m;
  18.         if(u+m>s.length())
  19.             cout<<"請勿亂輸入"<<endl;
  20.         else
  21.             cout<<s.substr(u,m)<<endl;
  22.     }
  23.     else if(n==2){
  24.         cout<<"請輸入字串:";
  25.         cin>>s;
  26.         cout<<"請輸入要尋找的字元或英文字母:";
  27.         cin>>t;
  28.         int q=s.find(t);
  29.         if(q==-1)
  30.             cout<<"找不到此字元或字母"<<endl;
  31.         else
  32.             cout<<"字元"<<t<<"的索引位置(由前往後找):"<<q<<endl;
  33.     }
  34.     else if(n==3){
  35.         cout<<"請輸入字串:";
  36.         cin>>s;
  37.         cout<<"請輸入要從哪個編號開始取代:";
  38.         cin>>u;
  39.         if(u>s.length())
  40.             cout<<"查無此編號"<<endl;
  41.         else if(u+m>s.length()){
  42.             cout<<"請輸入取代幾個:";
  43.             cin>>m;
  44.             cout<<"不可取代"<<endl;
  45.         }
  46.         else{
  47.             cout<<"請輸入取代幾個:";
  48.             cin>>m;
  49.             cout<<"請輸入取代為哪個字元或字串:";
  50.             cin>>t;
  51.             cout<<s.replace(u,m,t)<<endl;
  52.         }
  53.     }
  54.     else
  55.         cout<<"無此功能"<<endl;
  56.     cout<<endl;
  57.     system("pause");
  58.     system("cls");
  59.     goto re;
  60.     return 0;
  61. }
複製代碼

作者: 張宏淯    時間: 2024-7-18 14:48

此帖僅作者可見
作者: 鄭宇佑    時間: 2024-7-18 14:48

此帖僅作者可見
作者: 張紘鳴    時間: 2024-7-18 14:52

此帖僅作者可見
作者: 梁云睿    時間: 2024-7-19 08:54

此帖僅作者可見
作者: 謝秉蓁    時間: 2024-7-19 08:54

此帖僅作者可見
作者: 孫紹普    時間: 2024-7-19 09:01

此帖僅作者可見
作者: 林秉叡    時間: 2024-7-19 09:07

此帖僅作者可見
作者: 黃品勳    時間: 2024-7-19 09:07

此帖僅作者可見
作者: 黃毓庭    時間: 2024-7-19 09:09

此帖僅作者可見
作者: 陳品宇    時間: 2024-7-19 09:15

此帖僅作者可見
作者: 蘇昱承    時間: 2024-7-19 09:15

此帖僅作者可見
作者: 顏子承    時間: 2024-8-22 13:34

此帖僅作者可見
作者: 劉澤毅    時間: 2024-8-22 13:34

此帖僅作者可見
作者: 黃得睿    時間: 2024-8-22 13:55

此帖僅作者可見
作者: 陳科錡    時間: 2024-8-22 13:55

此帖僅作者可見
作者: 王靖竤    時間: 2024-8-22 13:59

此帖僅作者可見




歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/) Powered by Discuz! 7.2