我之前问过这样的问题,但它有点误导,因为我没有包括打印顺序。我认为再问一次会更贴切。使用光标操作打印垂直直方图C++ [ncurses] [已解决无W/O ncurses]
#include <iostream>
using namespace std;
int main()
{
int a, b, c, i;
cin >> a >> b >> c;
for (i = 0; i < a; i++)
cout << "*" << endl;
for (i = 0; i < b; i++)
cout << "*" << endl;
for (i = 0; i < c; i++)
cout << "*" << endl;
}
林意识到,输出是一样的:
for (i = 0; i < a + b + c; i++){
cout << "*" << endl;
}
因此,对于2 3 1我得到:
*
*
*
*
*
*
我要的是:
*
* *
* * * //Horizontal distance between 2 shapes don't matter.
它必须能准确地完成在order.Also每列的印刷必须是完成一个独立的功能。
第一个循环:
*
*
第二环:
*
* *
* *
最后循环:
*
* *
* * *
* 编辑: * Appereantly有一个其他的解决办法做到不任何使用光标操作。我的老师建议我应该先将字符存储在char指针中,然后逐行打印该char指针的内存。其中工作得很好。
没有“光标”在标准C++中,只有一个不透明的输出流。你必须重新思考一切。 – 2013-05-11 11:38:01
这就是为什么我需要通过使用ncurses或做同样的事情来做到这一点。请帮忙吗? – SpiderRico 2013-05-11 13:44:25
是的,你可以用ncurses来完成。通过教程,你应该能够立即做到这一点。 – 2013-05-12 15:41:28