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();
}
相关内容
相关资讯
-
【推荐】一个人拥有多少张信用卡比较好一个人有多少张信用卡
一个人拥有多少张信用卡比较好?其实,理想的信用卡张数主要取决于个人需求。如果是刚刚参加工作或刚刚摆脱不良的信用记录的人:
-
太原一小区安装玻璃工人作业时连同吊装机从33楼坠落?多方回应
11月15日,多名网友反映,山西太原绿地新里城二期小区发生一起事故,一名工人作业时不慎从33楼坠落。视频显示,有一名伤者躺地,现场来了多辆警车。视频发布者表示,事
-
5月份暨“端午”节前常州市场价格监测分析发布
扬子晚报网6月5日讯(记者 毕俊星 通讯员 发改轩)根据市场价格监测数据显示:5月份,常州市场粮油价格窄幅震荡,肉禽蛋、水产价格全部上扬,蔬菜价格跌势放缓;成品油购进价下跌,供应量有升有降;液化气购进价下跌,
-
2011年“黑心烤鸭”制销团队入狱,烤鸭成本不足3元:自己没敢吃
北京烤鸭久负盛名,它就是北京的一张名片。来北京的游客,总喜欢买一两袋真空包装的“北京烤鸭”。可不知从何时起,北京烤鸭
-
信达保险公司电话 华海保险车险电话
大家好,今天给各位分享信达保险公司电话的一些知识,其中也会对华海保险车险电话进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就
-
nvidia公司(nvidia工资待遇)
大家好,如果您还对nvidia公司不太了解,没有关系,今天就由本站为大家分享nvidia公司的知识,包括nvidia工资待遇的问题都会给大家分析到,还望可以解
-
2010年民生银行的股票平均收益民生银行大额存款有风险吗
其实2010年民生银行的股票平均收益的问题并不复杂,但是又很多的朋友都不太了解民生银行大额存款有风险吗,因此呢,今天小编就来为大家分享2010年民生银行的股票平均收益的一些知识,希望可以帮助到大家,下面我们一
-
1970到1980英镑汇率贬值1949年英镑贬值
大家好,如果您还对1970到1980英镑汇率贬值不太了解,没有关系,今天就由本站为大家分享1970到1980英镑汇率贬值的知识,包括1949年英镑贬值的问题都会给大家分析到,还望可以解决大家的问题,下面我们就