C++黑窗口控制台中菱形的简单画法
.
.
很多同学刚刚接触C++的时候,在学习循环结构的时候都会做过这样的题目:用’*’画一个菱形,但是刚开始的时候不知道怎么进行循环,在什么时候进行输出‘*’,什么时候输出‘ ’表示很疑惑,下面我就给大家介绍一种简便的画菱形的方法,并且依据类似的方法扩展的画各种你想要画的图形。
请看上图(1),这个是我们一般情况下定义控制台黑窗口的坐标的方式,原点的坐标为(0,0),其实将坐标设计好了之后,我们完全可以转换成一种我们比较容易接受的视角,如图(2),这样我们就可以开始方便快捷的设计画菱形了。
首先我们可以得到菱形的四个边的函数:
y= -x+m;
y= -x+3*m;
y= x+m;
y= x-m;
我们的画菱形的总体思路是:当我们遇到菱形边的坐标的时候我们我们输入‘*’,当我们坐标不是这些边的时候就输入‘ ’。
有了这样的思路我们就可以这样编码了:
#include <iostream>
using namespace std;
void main()
{
intm = 0;
while(1)
{
cout<<"请输入菱形边长m(m>1):";
cin>>m;
for(int y=0;y<=2*m;y++) //控制纵坐标循环长度:从0到2*m(包括2*m)
{
for(int x=0;x<=2*m;x++) //控制横坐标循环长度:从0到2*m(包括2*m)
{
if((y==-x+m) | //
(y==-x+3*m) | //
(y==x-m) | //
(y==x+m)) //四条菱形的边
{
cout<<'*'; //则输出‘*’
}
else
{
cout<<''; //否则输出‘ ’
}
}
cout<<endl;
}
}
}
这样画菱形很简单,有了这样的思路我们当然可以根据我们的需求而画各种图形,并且可以控制各种图形的实心、空心。
希望能够帮助到初学者。