Sau đây là ch ng trình minh ho Ch ng trình 6 5 #include #include... Sauđây là ch ng trình tô vòng tròn... void bar int top, int left, int right, int bottom void far bar3dint left, int t
Trang 2cputs( Ket thuc );
getche();
}
Trong ch ng trình ta có hàm:
window(x1,y1,x2,y2) dùng đ n đ nh m t c a s có to đ góc trêntrái là x1,y1 và góc d i ph i là x2,y2
textcolor(RED) đ n đ nh màu ch là đ
textbackcolor(GREEN) đ n đ nh màu n n văn b n là xanh lá câygotoxy(x,y)đ di chuy n con nháy v to đ x,y
cputs(string) đ đ t chu i string trong m t c a s Khi g p biên c a
c a s chu i s đ c xu ng dòng Màu trong ch đ đ ho đ c quy đ nh
n i này sang n i khác ta dùng hàm movetext() Ta xét ch ng trình sau t o
ra m t c a s , đi n đ y c a s b ng m t đo n văn b n và d i c a s sang vtrí khác trên màn hình
Ch ng trình 6 2
#include <conio.h>
Trang 3Hàm movetext(x1,y1,x2,y2,x0,y0) dùng di chuy n c a s x1, y1, x2, y2
đ n v trí m i mà to đ góc trên trái bây gi là x0, y0
3 L u tr và ph c h i màn hình văn b n: Ta có th l u tr m t vùng văn
b n hình ch nh t trên màn hình và sau đó ph c h i l i t i m t v trí nào đótrên màn hình Nh v y ta có th t o m t c a s nh trên đ u văn b n hi nhành Ta xét ví d sau
Trang 4• void clreol(void) : xoá đ n cu i dòng
• int cprintf(const char *format)đ a kí t ra m t c a s
• void textattr(int newattr) nđ nh màu cùng lúc cho văn b n và n n
• void gettextinfo(struct text_info *r): đ c các thông tin nh ki u mànhình, v trí và kích th c c a s , màu n n và văn b n ,v trí connháy
• void normvideo(void) tr l iđ sáng cũ
• void insline(void): chèn thêm m t dòng
• void delline(void) xoá m t dòng
• void hightvideo(void) tăng đ sáng
Trang 5khai báo trong graphics.h v i cú pháp:
void far initgraph(int *graphdrive , int *graphmode , char *path);
v i các bi n
graphdrive ch a trình đi u khi n đ ho
graphmode ki u đ ho
path đ ng d n đ n th m c ch a các drive đ ho Trong ph n này
ta ph i dùng hai d u \\ vì d u \ đã đ c dùng cho kí t escape
2 L i đ ho : Đ bi t l i đ ho ta dùng hàm int far graphresult(void) Sau
khi bi t mã l i ta chuy n nó sang cho hàm grapherrormsg() Hàm này tr vcon tr ch đén l i Sau đây là ch ng trình minh ho
Ch ng trình 6 5
#include <graphics.h>
#include <conio.h>
Trang 63 Đ ng th ng và màu s c: Đ thi t l p d ng, m u và b dày c a đ ng
th ng ta dùng hàm void far setlinestyle(int style,nt pattern, int thickness).Tham bi n style có th là:
Trang 71 NORM_WIDTH dãy 1đi m nh
2 THICK_WIDTH dãy 3đi m nh
Đ xác đ nh màu cho đ ng th ng ta dùng hàm void setcolor(int color Ta
Trang 84 Ellipse và đa giác: Đ v ellipse ta dùng hàm
void far ellipse(int x, int y , int gd, int gc, int xr, int yr)
x,y to đ tâm ellipse
void far drawpoly(int number, int far *addrlist)
number s đ nh đa giác c ng thêm 1
addrlist m ng ch a to đ các đ nh , to đ đi m đ u và cu i ph itrùng nhau
Trang 95 Tô màu và m u tô: Turbo C có nhi u hàm đ tô màu Hàm thông d ng
nh t đ tô bên trong m t đa giác và m u tô hi n hành là void far fillpoly(intnumber, int far * addlist) Màu và m u tô đ c thi t l p nh hàm void farsetfillstyle(int pattern, int color) Bi n pattern có th nh n m t trong các trsau:
Trang 10đi m b t đ u tô Hàm s tô cho đ n khi g p đ ng biên có màu xác đ nh
b ng bi n border Có th tô bên trong hay ngoài hình v tu đi m b t đ u
N u tô m t vùng không kín thì màu tô s lan ra trong l n ngoài v t th Sauđây là ch ng trình tô vòng tròn
Màu dùng đ tô có th gi ng hay khác v i màu dùng cho đ ng vi n
c a vùng Tuy v y màu dùng cho tham bi n border c a floodfill() ph i
gi ng màu v v t th (trong ch ng trình là màu RED)
Trang 116 Đ th : Turbo C có nhi u hàm giúp đ n gi n hoá vi c v đ th các hàm là
bar(), bar3d() và pieslice()
void bar (int top, int left, int right, int bottom)
void far bar3d(int left, int top, int right, int right, int bottom, int depth, int topflag)
topflag = 0 có n p, topflag = 1 không có n p
void far pieslice(int x, int y, int startangle, int endangle, int r)
Trang 137 Viewport: Viewport là m t vùng nhì th y đ c c a màn hình Khi m i
kh i đ ng viewport là toàn b màn hình Đ xác đ nh m t viewport ta dùnghàm setviewport() có cú pháp:
void far setviewport(int left, int top, int right, int bot, int clip)
Tham bi n clip cho bi t hình v có hi n ra ngoài viewport hay không N uclip <>0 thì không th y đ c hình bên ngoài viewport Đ xoá m t viewport
ta dùng hàm void far clearviewport(void)
có to đ (x, y)
Trang 149 Đi m nh: Đ đ t m t đi m nh lên màn hình ta dùng hàm :
void far putpixel(int x, in y, int color)
Trang 15Đ xác đ nh màu c a m t đi m ta dùng hàm int getpixel(int x, int y)
10 nh bit và làm nh chuy n đ ng: Đ c t gi m t hình nh vào b nh
unsigned far imagesize(int left, int top, int right, int bot)
Giá tr c a hàm đ c truy n cho hàm malloc() đ c p phát b nh Con tr
do hàm malloc() tr v đ c truy n cho hàm putimage đ khôi ph c l ihìnhđã c t Cú pháp c a putimage() là:
void far putimage(int left, int top, void far * addbuf, int putop)
left, top là góc trên trái c a vùng s đ a nh ra
Trang 17void far settextstyle(int font, int direction, int charsize)
Các fonts ch a trong các t p tin trong b ng sau
Đ i direction có th nh n m t trong hai tr :
0 (HORIZ_DIR) t trái sang ph i
1 (VERT_DIR) t trên xu ng d i
Khi đ i charsize có tr là 1, kích th c ch là nh nh t Khi kích th c là 2,
ch s tăng g p đôi v.v Đ in chu i ra màn hình trong ch đ đ ho tadùng các hàm:
void far outtext( char far * string);
void far outtextxy(int x, int y, char far *string);
Ch ng trình 6 16 : Dùng hàm settextstyle()đ vi t ch
Trang 182 Justify và đ nh kích th c văn b n: Hàm đ nh v trí văn b n là:
void far settextjustify(int horiz, int vert);
Đ i horiz nh n các bi n trong b ng sau
Trang 19Tr H ng ý nghĩa
0 LEFT_TEXT CP n m bên trái văn b n
1 CENTER_TEXT CP n m bên chính gi a văn b n
2 RIGHT_TEXT CP n m bên ph i văn b n
Đ i vert nh n m t trong các giá tr sau:
Trang 20outtext( Center top );
void far setusercharsize(int multx, int divx, int multy, int divy);
multx nhân chi u r ng c a kí t
divx chia chi u r ng c a kí t
multy nhân chi u cao c a kí t
divx chia chi u cao c a kí t
#define width (((n+1)*di))
#define pbt ((float)(bot top))
#define ppd ((float)(bot top)/maxdata)
void main()
{
Trang 21int gd,gm,i;
float a,b,c,d;
int data[n]={41,47,54,62,63,59,75,83,89,96,55,2};
char month[12][4]={ Jan , Feb , Mar , Apr , May , Jun , Jul ,
Aug , Sep , Oct , Nov , Dec };
line(left,bot i*pbt/10,left+twidth,bot i*pbt/10);
line(left+width twidth,bot i*pbt/10,left+width,bot i*pbt/10);