C++黑窗口控制台中菱形的简单画法

                                         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;

                   }

         }

}

        

         这样画菱形很简单,有了这样的思路我们当然可以根据我们的需求而画各种图形,并且可以控制各种图形的实心、空心。

         希望能够帮助到初学者。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值