C语言艺术清屏
问题的提出:我们在编制程序时,经常要用到清屏处理,如dos下的cls,Turbo C下的clrscr()等都具有清屏功能,但这些均为一般意义的清屏,9L1e5`"E0_:Z并未显示其清屏规律.而有时为了达到清屏的艺术美观,往往对清屏有一些具体要求,如:开幕清屏;闭幕清屏;上清屏;下清屏;中清屏.为此,这里 J}dR:p:b
用C语言编制了几个子函数,用于程序中时,既可达到清屏的目的,有能增加屏幕的艺术美观.
子函数及演示程序:vL%`Y7pA_+R&\
#include<stdio.h>*N4nsM}9? @
#include<dos.h>
#include<conio.h>7vu!q"NGt
void goto_xy(int x,int y);
void dcls(int x1,int x2,int y1,int y2);
void bcls(int x1,int x2,int y1,int y2);
void kcls(int x1,int x2,int y1,int y2);
void recls(int x1,int x2,int y1,int y2);
void zcls(int x1,int x2,int y1,int y2);
void puta(void);B&@g b/|'`%NWgW
yk'M(@rb1yZ
/*--------------演示程序---------------------*/l#^nti
main()
{
puta();
getch();
dcls(0,4,0,79);
getch(); M US3Qma/T%w
puta();+\@#d{~Q2Z0c7qy
getch();
bcls(0,25,0,79);
getch();
puta();"@]]|&Yx th
getch();Q&Sy#U9Gs
zcls(0,25,0,79);-I%aO}7[
getch();.V zx'L1|9N
}
/*********center clear screen(中心清屏)***********/)}-uZ.U$~C `#^
void zcls(int x1,int x2,int y1,int y2)I-P~Fs
{(QC(x({ cNl?u
int x00,y00,x0,y0,i,d;
if((y2-y1)>(x2-x1)){D!j.HrqJTX
d=(x2-x1)/2;
x0=(x1+x2)/2;P#LD\&FR+D:~/B
y0=y1+d;%u6l.vqswI'T v
y00=y2-d;kR)@qRv/o O
for(i=0;i<(d+1);i++)
recls((x0-i),(x00+i),(y0-i),(y00+i));
delay(10);D&W2cDRrU%Q
}
else{