【发布时间】:2022-06-10 17:43:28
【问题描述】:
我正在处理一项作业 (C++),我必须让用户写出一串文本(输入示例:1hello22)。
任务也是一个一个地删除数字。所以输出会是这样的:
- 1hello22
- 你好22
- 你好2
- 你好
如何检查此循环中的每个字符串字母?我不能让它重演。我假设我需要在这里使用嵌套的 for 循环,但我被卡住了,我不确定如何继续。
这是我目前所得到的:
cout<<"Enter some text:";
cin.ignore();
getline(cin,userText);
system("clear");
for (q=0;q<=(userText.length());q++)
{
if (isalpha(userText.at(q))) //checks for alphabet
{
q++;
cout<<userText<<endl;
}
else
{
userText.erase(q,1); //gets rid of number
q++;
cout<<userText<<endl;
}
}
【问题讨论】:
-
创建一个 std:;stringstream。通过输入字符串解析,如果字符是字母,则将该字符添加到字符串流中,否则跳过它。
-
另外,按顺序删除字符是什么意思?并且请正确格式化代码,这么多缩进很难阅读。
-
我们还没有学会如何使用 std::stringsteam :( 你建议我这样学习或者你会推荐什么?另外,抱歉缩进。c/p 从 IDE 做了一些奇怪的事情: (将在几个小时内修复,现在在床上试图赶上我 3 小时的睡眠。谢谢您的回复
-
我认为您应该首先澄清按顺序删除字符是什么意思。根据澄清,我最初的建议可能会改变。
-
请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。
标签: c++ string digits alphabetical