c++ - C++ 模板类根据主函数的调用打印字符串或 int 输出
问题描述
我需要编写一个名为 Pattern 的模板类,它根据来自 main 函数的调用打印 int 或字符串的行。RowInt 和 RowString 在非模板类中定义。
如何编写 RowInt、RowStr 类和模板类“Pattern”,使其能够识别需要生成哪一行,即带有字符串“*”的行或带有 int 1,2,3...的行。序列应该直到满足用户输入的数字才会生成。即如果用户输入 4,那么它应该为 Pattern mypattern(number) 打印 1 2 3 4;它应该为调用 Pattern mypattern(number); 打印 ****;请建议。
int main()
{
int number = 0;
do
{
cout << "Please input the number of rows (max 10:)" ;
cin >> number;
}
while ((number < 1) || (number > 10))
Pattern<RowStr> mypattern(number); //shows string * ,number of string will be equal to the number entered by the user
Pattern<RowInt> mypattern(number); //generates rows with numbers 1,2,3,4....untill the number entered by the user
我正在使用 Cygwin 运行这个程序。
解决方案
class PatternString
{
private:
typedef string strvalue;
strvalue sstr;
public:
PatternString(int num =0)
{
for (int i = 1, k = 0; i <= num; ++i, k = 0)
{
for (int space = 1; space <= num - i; ++space)
{
sstr += " ";
cout<<"from firstloop"<< sstr<<endl;
}
while (k != 2 * i - 1)
{
sstr += "X";
cout<<"from secondloop"<< sstr<<endl;
k++;
}
}
}
strvalue get_disc() const
{
return sstr;
}
};
正在给我一个输出,请。建议我哪里出错了。
X
XXXX
X XXXXXXXX
X XXX XXXXXXXXXXXX
X XXX XXXXX XXXXXXXXXXXXXXXX
我需要一个输出星形金字塔,在每次调用时生成一行并存储在字符串变量中,这个字符串变量将依次返回并存储在链表节点中
推荐阅读
- javascript - 下拉用户输入然后列出并允许在 HTML 页面上进行编辑
- javascript - React/JS 没有显示可能性(智能感知)VSCODE
- java - 在java中将十进制转换为整数
- python - 如何编写一个以文件夹名称为参数并使用 python 和 os 模块返回所有文件名列表的函数?
- while-loop - 代码在尝试“while (!radio.available())”并反复检查按钮输入时挂起
- node.js - 使用 Kubernetes 和自动缩放创建 NodeJS 数据处理应用程序
- javascript - 防止javascript灯箱在显示之前将src调整为data-src
- java - 将 kafka-streams 与自定义分区器一起使用
- php - “Vue 警告:无法挂载组件:未定义模板或渲染函数”仅在来自文件的组件上
- android - 如果并不总是需要变量,使用 lambda 会更好吗?