C语言艺术清屏
问题的提出:我们在编制程序时,经常要用到清屏处理,如dos下的cls,Turbo C下的clrscr()等都具有清屏功能,但这些均为一般意义的清屏,:O"jk [R4];RP
并未显示其清屏规律.而有时为了达到清屏的艺术美观,往往对清屏有一些具体要求,如:开幕清屏;闭幕清屏;上清屏;下清屏;中清屏.为此,这里
用C语言编制了几个子函数,用于程序中时,既可达到清屏的目的,有能增加屏幕的艺术美观.
子函数及演示程序: O-xQ0EF r,Ycj
,X-R}8^]J zq-P
#include<stdio.h>
#include<dos.h> vEKdI @;P I
#include<conio.h>2B dK Bv7n&kx
K+^/QC-o&P8bq N
void goto_xy(int x,int y);
void dcls(int x1,int x2,int y1,int y2);#wT@B"B(CE"R
void bcls(int x1,int x2,int y1,int y2);%JoXo"vyT(Q(l8h?
void kcls(int x1,int x2,int y1,int y2); \'C/gt/H0cI2j
void recls(int x1,int x2,int y1,int y2);
void zcls(int x1,int x2,int y1,int y2);
void puta(void); V9|8\&T tc
n5P0aH7~ v
D j*Z'W,q w
/*--------------演示程序---------------------*/6U T$jisH3L
main()];Nu:y f!K!L2Xwk
{
puta();
getch();
dcls(0,4,0,79);
getch();
puta();$R-y!rQM
getch();
bcls(0,25,0,79);[I(z2{#Z*V5zr Z
getch();
puta();
getch();
zcls(0,25,0,79);
getch();
}2b1^4]JendG
/*********center clear screen(中心清屏)***********/
void zcls(int x1,int x2,int y1,int y2)
{.|6[#pkF,S0hC
int x00,y00,x0,y0,i,d;
if((y2-y1)>(x2-x1)){
d=(x2-x1)/2;Q3E@#A$Smzd
x0=(x1+x2)/2;
y0=y1+d;.Cb7J+}:~ D'k z
y00=y2-d;
for(i=0;i<(d+1);i++)