编写一个函数,它接受一个指向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.
![](https://profile-avatar.csdnimg.cn/0b881ef885f04d45a86a934ea1ea9832_qq_15186649.jpg!4)
关于字符串小写转大写的问题,如何解决?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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() 函数来读取每行输入。
解决 1无用
悬赏问题
- ¥200 csgo2的viewmatrix值是否还有别的获取方式
- ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
- ¥15 请把下列每一行代码完整地读懂并注释出来
- ¥15 pycharm运行main文件,显示没有conda环境
- ¥15 易优eyoucms关于二级栏目调用的问题
- ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
- ¥15 为什么eclipse不能再下载了?
- ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
- ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
- ¥15 特定网页无法访问,已排除网页问题