返回列表 發帖

[隨堂測驗]substr()函式&find() 函式&replace() 函式

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














  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. }
複製代碼
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊
istak.teach2@gmail.com

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

返回列表