【发布时间】:2017-03-01 11:22:45
【问题描述】:
我在 C++ 实验室介绍中遇到了一个问题。我已经在下面发布了这个实验室的说明和我的代码。我想指出,图案 B 必须显示在图案 A 旁边(如图所示),而不是在其下方。
当我尝试构建此代码时,我在行 b = b-y 上收到错误 no match for 'operator-'。有没有一种简单的方法来减少字符串中的符号?说明声明要为模式 B 使用第二个循环,但我不确定从哪里开始。我非常感谢任何能引导我朝着正确方向完成这项任务的建议。谢谢。
#include <iostream>
#include <string>
using namespace std;
int main()
{
string a = "*";
string b = "**********";
string y = "*";
for (int i=0; i <= 9; i++) {
cout << a << " " << b << "\n";
a = a + y;
b = b - y;
}
return 0;
}
【问题讨论】:
-
据我所知,您可以使用
+连接字符串,但不能使用-删除部分 -
你可以使用
erase()函数来“递减”字符串。 -
请不要试图猜测 C++ 语法。请阅读您的书籍和文档。
-
仔细阅读作业。你应该使用一个循环来显示模式 A,和另一个循环来显示模式 B。
-
大量可用的方法:
.resize( )也可以。或.pop_back( )。这些都不是内容敏感的,但它们会删除任何内容。
标签: c++ loops for-loop string-operations