注:文中例子是本人刚学C++编程语言的时候制作的,实现方法很简单,主要使用for循环语句,无需什么复杂烧脑的算法。

由于经常看到各种符号拼成的图案,感觉很有意思,所以自己也弄了个,纯属好玩。

(作品---->原图)  

思   路:

>>实现这个图案的关键之处在于构造图案中的各个符号的定位

第一步:首先需要注意一下,在DOS命令行窗口中,默认情况下,每行之间的字符间距大概是每一行行内字符间间距的2倍(视觉上)。

如果你的图案是一个正方形,设图案每一行有X个字符(包含空格),则行数为X/2行。

第二步:按照这个视觉比例,用word文档创建如下内容(如下图,本文中每一行都是一个个星号组成的),并打印出来。

然后按照设计的图案的每行中的字符个数,在打印出来的纸中用铅笔画出一个边框(范围),然后可以在边框范围内尽情的连线,

最后拼成图案。(这一步解决图案中符号定位的问题,属于笨办法,但是十分有效,而且很直观,本例选择的行字符数为40。)

第三步:按行计算边框范围内连起来的线经过的点(每个点到该行行首的距离),经过则用自定义的符号显示,没有经过的点用空格显示。

可以在上图中标上刻度,方便计算每个符号的位置。

第四步:为了方便在命令行窗口中左右移动图案,给每一行行首都增加了一个int型变量,并根据该变量的值在每行行首添加空格,

使得图案的左边框离窗口的左边界之间的距离可以随意改变。该步骤可以省略。

第五步:本例实现代码如下(出现图案雏形后在根据视觉上的差异对部分字符位置进行微调)

#include<iostream>
using namespace std;
int main(){int a;cout<<"please input A:";  cin>>a;                  //图案左边框离窗口左边界的距离值,可替换成任意常量,也可以忽略。for(int x=0;x<30;x++){for(int y=0;y<60+a;y++){if(x==0||x==29){if(y<a)cout<<" ";else cout<<"*";}else if(x==1){if(y<a)cout<<" ";else if(y==a||y==59+a) cout<<"$";else cout<<" ";}else if(x==2){if(y<a)cout<<" ";else if(y==a||y==59+a) cout<<"$";else if(y==a+9||y==a+50)cout<<"*";else if(y==a+22||y==a+24||y==a+26||y==a+28||y==a+30||y==a+32||y==a+34||y==a+36||y==a+38)cout<<"*"; else cout<<" ";}else if(x==3){if(y<a)cout<<" ";else if(y==a||y==59+a) cout<<"$";else if(y==8+a||y==10+a)cout<<"*";else if(y==12+a||y==18+a||y==a+42||y==a+47||y==a+49||y==a+51)cout<<"*"; else cout<<" ";}else if(x==4){if(y<a)cout<<" ";else if(y==a||y==59+a) cout<<"$";else if(y==a+8||y==a+11||y==a+15||y==a+45||y==a+48||y==a+51)cout<<"*";else cout<<" ";}else if(x==5){if(y<a)cout<<" ";else if(y==a||y==59+a) cout<<"$";else if(y==a+8||y==a+13||y==a+47||y==a+51)cout<<"*";else cout<<" ";}else if(x==6){if(y<a)cout<<" ";else if(y==a||y==59+a) cout<<"$";else if(y==a+8||y==a+51)cout<<"*";else cout<<" ";}else if(x==7){if(y<a)cout<<" ";else if(y==a||y==59+a) cout<<"$";else if(y==a+6||y==a+53)cout<<"*";else cout<<" ";}else if(x==8){if(y<a)cout<<" ";else if(y==a||y==59+a) cout<<"$";else if(y==a+5||y==a+54)cout<<"*";else cout<<" ";}else if(x==9){if(y<a)cout<<" ";else if(y==a||y==59+a) cout<<"$";else if(y==a+4||y==a+55)cout<<"*";else cout<<" ";}else if(x==10){if(y<a)cout<<" ";else if(y==a||y==59+a) cout<<"$";else if(y==a+3||y==a+56)cout<<"*";else if(y>=a+9&&y!=a+10&&y!=a+12&&y!=a+14&&y!=a+16&&y!=a+18&&y!=a+20&&y!=a+22&&y!=a+24&&y!=a+26&&y<=a+27)cout<<"*";else if(y>=a+32&&y!=a+33&&y!=a+35&&y!=a+37&&y!=a+39&&y!=a+41&&y!=a+43&&y!=a+45&&y!=a+47&&y!=a+49&&y<=a+50)cout<<"*";else cout<<" ";}else if(x==11){if(y<a)cout<<" ";else if(y==a||y==59+a) cout<<"$";else if(y==a+2||y==a+57)cout<<"*";else if(y==a+10||y==a+49||y==a+26||y==a+33)cout<<"*";else if(y>=a+14&&y<=a+17)cout<<"*";else if(y>=a+42&&y<=a+45)cout<<"*";else cout<<" ";}else if(x==12){if(y<a)cout<<" ";else if(y==a||y==59+a) cout<<"$";else if(y==a+2||y==a+57)cout<<"*";else if(y==a+12||y==a+24||y==a+35||y==a+47)cout<<"*";else cout<<" ";}else if(x==13){if(y<a)cout<<" ";else if(y==a||y==59+a) cout<<"$";else if(y==a+2||y==a+57)cout<<"*";else if(y>=a+14&&y!=a+15&&y!=a+17&&y!=a+19&&y<=a+20)cout<<"*";else if(y>=a+39&&y!=a+40&&y!=a+42&&y!=a+44&&y<=a+45)cout<<"*";else cout<<" ";}else if(x==14){if(y<a)cout<<" ";else if(y==a||y==59+a) cout<<"$";else if(y==a+2||y==a+57)cout<<"*";else cout<<" ";}else if(x==15){if(y<a)cout<<" ";else if(y==a||y==59+a) cout<<"$";else if(y==a+2||y==a+57)cout<<"*";else if(y==a+8||y==50+a) cout<<"*";else cout<<" ";}else if(x==16){if(y<a)cout<<" ";else if(y==a||y==59+a) cout<<"$";else if(y==a+2||y==a+57)cout<<"*";else if(y==a+8||y==50+a) cout<<"*";else cout<<" ";}else if(x==17){if(y<a)cout<<" ";else if(y==a||y==59+a) cout<<"$";else if(y==a+2||y==a+57)cout<<"*";else if(y==a+8||y==50+a) cout<<"*";else cout<<" ";}else if(x==18){if(y<a)cout<<" ";else if(y==a||y==59+a) cout<<"$";else if(y==a+2||y==a+57)cout<<"*";else if(y==a+9||y==49+a) cout<<"*";else cout<<" ";}else if(x==19){if(y<a)cout<<" ";else if(y==a||y==59+a) cout<<"$";else if(y==a+2||y==a+57)cout<<"*";else if(y==a+10||y==48+a) cout<<"*";else cout<<" ";}else if(x==20){if(y<a)cout<<" ";else if(y==a||y==59+a) cout<<"$";else if(y==a+3||y==a+56)cout<<"*";else if(y==a+11||y==47+a) cout<<"*";else cout<<" ";}else if(x==21){if(y<a)cout<<" ";else if(y==a||y==59+a) cout<<"$";else if(y==a+4||y==a+55)cout<<"*";else if(y==a+13||y==45+a) cout<<"*";else cout<<" ";}else if(x==22){if(y<a)cout<<" ";else if(y==a||y==59+a) cout<<"$";else if(y==a+5||y==a+54)cout<<"*";else if(y==a+15||y==43+a) cout<<"*";else cout<<" ";}else if(x==23){if(y<a)cout<<" ";else if(y==a||y==59+a) cout<<"$";else if(y==a+7||y==a+52)cout<<"*";else if(y==a+17||y==41+a) cout<<"*";else cout<<" ";}else if(x==24){if(y<a)cout<<" ";else if(y==a||y==59+a) cout<<"$";else if(y==a+10||y==a+49)cout<<"*";else if(y==a+21||y==a+25||y==a+29||y==a+33||y==a+37)cout<<"*";else cout<<" ";}else if(x==25){if(y<a)cout<<" ";else if(y==a||y==59+a) cout<<"$";else if(y==a+13||y==a+46)cout<<"*";else cout<<" ";}else if(x==26){if(y<a)cout<<" ";else if(y==a||y==59+a) cout<<"$";else if(y>=a+17&&y!=a+18&&y!=a+20&&y!=a+22&&y!=a+24&&y!=a+26&&y!=a+28&&y!=a+29&&y!=a+31&&y!=a+33&&y!=a+35&&y!=a+37&&y!=a+39&&y!=a+41&&y<=42+a)cout<<"*";else cout<<" ";}else if(x==27){if(y<a)cout<<" ";else if(y==a||y==59+a) cout<<"$";else if(y==a+16||y==a+25||y==a+29||y==a+30||y==a+31||y==a+35||y==a+43)cout<<"*";else cout<<" ";}else if(x==28){if(y<a)cout<<" ";else if(y==a||y==59+a) cout<<"$";else if(y==a+15||y==a+26||y==a+27||y==a+33||y==a+34||y==a+44)cout<<"*";else cout<<" ";}}cout<<endl;}cout<<endl;cout<<endl;
system("pause");
return 0;
}

have fun!

在DOS命令行窗口中显示出用各种字符拼凑出来的各种图案的实现方法,如本人头像相关推荐

  1. dos c语言显示符号图案,在DOS命令行窗口中显示出用各种字符拼凑出来的各种图案的实现方法,如本人头像...

    注:文中例子是本人刚学C++编程语言的时候制作的,实现方法很简单,主要使用for循环语句,无需什么复杂烧脑的算法. 由于经常看到各种符号拼成的图案,感觉很有意思,所以自己也弄了个,纯属好玩. (作品- ...

  2. matlab在命令行注册,在命令行窗口中输入语句

    在命令行窗口中输入语句 当您在 MATLAB® 中工作时,可以在命令行窗口中输入各个语句.例如,通过在命令行中键入以下语句来创建名为 a 的变量: a = 1 MATLAB 会立即将变量 a 添加到工 ...

  3. 在Matlab命令窗口中执行,交互式命令操作就是在MATLAB命令行窗口中输入命令并执行。...

    交互式命令操作就是在MATLAB命令行窗口中输入命令并执行. 答:√ 中国大学MOOC: 一侧肾切除后,另一留存肾会长得更加硕大,这种生理现象称为 . 答:代偿 Street jazz 的编舞师都会有 ...

  4. 快速打开DOS命令行窗口

    快速打开DOS命令行窗口 我们平时打开dos命令行窗口都是用这样的方式吧 win+R 输入 cmd 这样就进入了命令窗口.然而,去往指定目录,是不是还要输入路径,现在就教你一个快捷方法. 在你想要打开 ...

  5. 按窗口文件php代码,在Windows命令行窗口中输入并运行PHP代码片段(不需要php文件)的方法...

    有时候只是简单的为了测试某个php函数的效果,以前总是需要建一个php文件,复制这个文件的路径,再通过web访问或者用php命令执行这个php文件. 一直想要怎么才能不用创建文件,才能直接执行PHP代 ...

  6. 解决CMD命令行窗口不显示颜色问题python

    最近在做一个CMD命令行窗口显示不同颜色的字体的功能时,发现按照网上的方法设置均不生效 1.比如最常见的方法,print("\033[0;30;40m\tHello World\033[0m ...

  7. Matlab命令行窗口中直接将内容输出disp命令

    disp命令:直接在命令行中显示文字或者数组 语法:disp(X) 描述:disp(X)显示X的内容而不打印变量名称. disp不显示空变量. 实例: 实例1 显示变量内容 创建一个数字数组A和一个字 ...

  8. PowerShell命令行窗口中设置环境变量 (简介,以及与cmd、shell、linux命令对比)

    ■前言 win10自带 PowerShell命令行窗口,使用起来, 与cmd的命令行,linux还是多少有些差异的 ■设置系统环境变量 $env:xxx (比如我们要命令行执行java,又没有管理员权 ...

  9. 【Hive】命令行提示符中显示当前所在数据库

    Hive 0.8.0之后的版本开始支持此功能,可以在命令行中显示当前所在的数据库. 设置命令为:set hive.cli.print.current.db=true #设置前 hive> use ...

最新文章

  1. htonl(), ntohl(), htons(), ntohs() 函数
  2. 【算法系列之八】删除链表的倒数第N个节点
  3. STM32工作笔记0049---JLINK在线调试__软件调试方法与技巧
  4. ISODrive使Ubuntu Touch手机变身电脑系统启动盘(UBports之“DriveDroid”)
  5. PPTV发布裸眼3D手机:中国联通加持,又一款“互联网生态手机”---ESM
  6. chm文件打不开的原因
  7. ViewPager example -实现左右两个屏幕的切换
  8. 小朋友把游戏藏在计算机里,如何设置孩子玩电脑游戏的时间
  9. matlab:plot线型和颜色
  10. 为降低普及门槛,鑫洋泉将全景环视做成“算法引擎”
  11. python gui学生管理系统(Python gui+MySQL数据库)
  12. 语音聊天室系统技术方案
  13. 理想国pytorch入门教程
  14. python生成一笔画_用Python玩烧脑小游戏《一笔画完》,瞬间闯到100关
  15. 一些黑防的VIP教程,绝对可下,迅雷下载
  16. 开源无国界?vue-cli、node-ipc被投毒事件分析
  17. Chrome插件MV3简单开发
  18. 互联网女皇Mary Meeker眼中的移动互联网趋势(幻灯片)
  19. neo4j-neoclient-example之movies 推荐
  20. 中视迪威旗下王牌产品亮相绵阳科博会

热门文章

  1. 当你离开之后我真的哭了
  2. 19年3月课程考试计算机应用基础,远程西安交通大学17年3月课程考试《计算机应用基础》作业考核试题...
  3. Outlook邮箱无法自动存档的解决办法
  4. Selenium:如何利用webdriver uncheck checkbox
  5. Python turtle 绘制一张美女字符画
  6. html简单动画过度
  7. Java--时间换算例子
  8. 中国啤酒10强“燕京漓泉”引入法大大电子合同,加速数字化升级
  9. 【通信】基于非相干信号子空间(ISM)的宽带源DOA估计方法
  10. 用回溯法解决最小重量机器设计问题