C语言自编程序3——模拟上下开关窗帘
#include "stdio.h"
#include "stdlib.h"
#include "windows.h"
void main()
{
int i,j=15,k,h,len,g;
char select,img='U';
printf("select (u/U) open the window or select (s/S) close the window:");
scanf("%c",&select);
if(select=='u'||select=='U')
{
for(i=1;i<=j;i++) //关窗帘前先显示出窗帘
{
for(k=1;k<=30;k++)
printf("%c",img);
printf("\n");
}
Sleep(1000);
system("cls");
//开始开窗帘
j=15; //模拟窗帘高度//拆解为15行
h=1;
len=30; //模拟一行窗帘划分成多少格格
for(;1;)
{
for(k=1;k<=len;k++) //模拟输出一个罗马杆
printf("%c",'+');
printf("\n");
j--;
for(i=1;i<=j;i++)//模拟输出窗帘
{
for(k=1;k<=len;k++)
printf("%c",img);
printf("\n");
}
for(i=1;i<h;i++)//窗帘上升,用空行补充留空的行
{
for(k=1;k<=len;k++)
printf("%c",' ');
printf("\n");
}
h++;
for(k=1;k<=len;k++)//模拟窗户下面的阳台
printf("%c",'+');
printf("\n");
if(j==1)
break;
Sleep(1000);
system("cls");
}
}
//开始关窗帘,仿照上面代码,增加窗帘行,减少空行
//关窗帘是物联2131学生实现的
if(select=='s'||select=='S')
{
//关闭窗帘
len=30; //模拟一行窗帘划分成多少格格
j=1; //控制窗帘行的数量,刚开始为1,然后关窗帘就开始模拟增加到2行 3行 4行,也就是窗帘往下了,窗帘多了
h=1; //控制空行的变化,h用来遍历g的数量
g=15; //代表空行的数量
//下面解释下,关窗帘前,首先要把窗帘的状态模拟出来,也就是
//最上面一个罗马杆模拟
//接着是收起来的一行窗帘模拟
//然后是用空行代表的空白窗口模拟
//最后是模拟出一个窗台边沿
//假如这个窗户高度是12行,也就是1行罗马杆,1行收起来的窗帘,9行空行,1行窗台边沿
//后面就要在这个基础上,1行罗马杆不变,而窗帘就要开始增加,空行开始减少,窗帘加1行,空行就要减少1行,这两个配合联动
//1行的窗台边沿位置不动,也不变
//下面模拟
for(;1;)
{
// 1 罗马杆
for(k=1;k<=len;k++) //模拟输出一个罗马杆
printf("%c",'+');
printf("\n");
// 2 多行的窗帘(第一次只显示一行,第二次循环的时候,就要开始加窗帘行)
for(i=1;i<j;i++) //这里用i遍历j的数量,看有多少行窗帘要显示出来
{
//里面就是固定显示窗帘的空行
for(k=1;k<=len;k++)
printf("%c",img);
printf("\n");
}
// 3 多行空行(第一次显示的是多行,第二次循环的时候,就开始减少空行)
for(h=1;h<=g;h++)
{ for(k=1;k<=len;k++)
printf("%c",' ');
printf("\n");
}
// 4 窗台边沿
for(k=1;k<=len;k++)//模拟窗户下面的阳台
printf("%c",'+');
printf("\n");
j++;
g--;
//控制退出循环,借用空行变量,最后空行就归1了
if(h==1)
break;
//刷屏,让窗口位置固定
Sleep(1000);
system("cls");
}
}
getchar();
getchar();
}
相关内容
相关资讯
-
2018年6月信托规模2019年信托规模大家好,今天小编来为大家解答2018年6月信托规模这个问题,2019年信托规模很多人还不知道,现在让我们一起来看看吧!本文目录2017年9月通过什么
-
2016年哈市大型财富公司介绍2016年哈市大型财富公司介绍图今天给各位分享2016年哈市大型财富公司介绍的知识,其中也会对2016年哈市大型财富公司介绍图进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录
-
10000卢比是多少人民币100000卢比是多少人民币大家好,今天小编来为大家解答10000卢比是多少人民币这个问题,100000卢比是多少人民币很多人还不知道,现在让我们一起来看看吧!本文目录1000
-
000533万家乐股票资金000533万家乐股票行情大家好,关于000533万家乐股票资金很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于000533万家乐股票行情的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关
-
000722的股票生产是吗林业板块有哪些股票大家好,今天来为大家解答000722的股票生产是吗这个问题的一些问题点,包括林业板块有哪些股票也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站
-
2019年沪深两市有多少股票2019年沪深两市有多少股票交易大家好,今天来为大家分享2019年沪深两市有多少股票的一些知识点,和2019年沪深两市有多少股票交易的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接
-
2017信托成绩排名2017信托产品收益大家好,今天小编来为大家解答以下的问题,关于2017信托成绩排名,2017信托产品收益这个很多人还不知道,现在让我们一起来看看吧!本文目录个人信托公