事事明心 2023-03-01 15:05 采纳率: 0%
浏览 22

关于字符串小写转大写的问题,如何解决?

编写一个函数,它接受一个指向string对象的引用作为参数,并将该string对象的内容转换为大写,为此可使用表6.4描述的函数toupper()。然后编写一个程序,它通过使用一个循环让您能够用不同的输入来测试这个函数,该程序的运行情况如下:
Enter a string(q to quit):go away GO AWAY
Next string(q to quit):good grief!GOOD GRIEF!
Next string (q to quit):q
Bye.

  • 写回答

2条回答 默认 最新

  • MarkHan_ 2023-03-01 15:10
    关注

    该回答引用GPTᴼᴾᴱᴺᴬᴵ
    以下是一个 C++ 函数,可以接受一个指向 string 对象的引用作为参数,并将该 string 对象的内容转换为大写。

    
    #include <string>
    #include <cctype>
    
    void to_upper_case(std::string& str) {
        for (std::string::iterator it = str.begin(); it != str.end(); ++it) {
            *it = std::toupper(*it);
        }
    }
    
    

    在该函数中,我们使用 std::toupper() 函数将每个字符转换为大写字母。然后,我们可以编写一个程序来测试这个函数:

    #include <iostream>
    #include <string>
    
    void to_upper_case(std::string& str);
    
    int main() {
        std::string str;
        std::cout << "Enter a string (q to quit): ";
        while (getline(std::cin, str)) {
            if (str == "q") {
                break;
            }
            to_upper_case(str);
            std::cout << "Converted string: " << str << std::endl;
            std::cout << "Next string (q to quit): ";
        }
        std::cout << "Bye." << std::endl;
        return 0;
    }
    
    
    

    在这个程序中,我们使用 getline() 函数读取输入字符串,并将其传递给 to_upper_case() 函数进行大写转换。然后,我们将转换后的字符串输出到标准输出,然后提示用户输入下一个字符串。如果用户输入 "q",则程序退出。

    例如,当用户输入以下内容时:

    go away GO AWAY
    good grief!GOOD GRIEF!
    q
    
    
    

    程序输出:

    Converted string: GO AWAY GO AWAY
    Next string (q to quit): Converted string: GOOD GRIEF!GOOD GRIEF!
    Next string (q to quit): Bye.
    
    
    

    请注意,这个程序可以接受多行输入,因为它使用了 getline() 函数来读取每行输入。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 3月1日

悬赏问题

  • ¥50 安装华大九天aether
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证