Trçnh baìy maìn hçnh

Một phần của tài liệu Lập trình C (Trang 31 - 38)

Caïc haìm trçnh baìy maìn hçnh nàòm trong táûp tin conio.h

VIII.1. Haìm di chuyãøn con troí :

• Máùu : gotoxy(int x, int y);

• Cäng duûng : âàût con troí maìn hçnh vaìo toüa âäü (x,y) cuía maìn hçnh. x laì toüa âäü cäüt coï giaï trë tæì 1 âãún 80, y laì toüa âäü cäüt coï giaï trë tæì 1 âãún 25

VIII.2. Haìm xoïa maìn hçnh clrscr() : (Clear Screen)

• Máùu : clrscr();

• Cäng duûng : xoïa toaìn bäü maìn hçnh vaì âàût con troí åí vë trê goïc trãn bãn traïi.

VIII.3. Haìm clreol() : (Clear End of line)

• Máùu : clreol();

• Cäng duûng : xoïa caïc kê tæû nàòm bãn phaíi con troí.

VIII.4. Haìm delline():

• Máùu : void delline(void);

• Cäng duûng : xoïa doìng cuía cæía säø âang chæïa con troí.

Caïc hàòng maìu : âæåüc sæí duûng våïi caïc haìm textcolor() vaì haìm textbackground()

Giaï trë Maìu

0 BLACK Âen

1 BLUE Xanh lå

2 GREEN Xanh laï cáy

3 CYAN Xanh cáøm thaûch

4 RED Âoí

5 MAGENTA Têa

6 BROWN Náu

7 LIGHTGRAY Xaïm nhaût

8 DARKGRAY Xanh âáûm

9 LIGHTBLUE Xanh nhaût

10 LIGHTGREEN Xanh laï cáy nhaût

11 LIGHTCYAN Xanh cáøm thaûch nhaût

12 LIGHTRED Âoí nhaût

13 LIGHTMAGENTA Têa nhaût

14 YELLOW Vaìng

15 WHITE Tràõng

128 BLINK Nháúp nhaïy

VIII.5. Haìm textcolor() :

• Máùu : void textcolor(int newcolor);

• Cäng duûng : choün maìu kê tæû måïi.

Newcolor coï giaï trë tæì 0 âãún 15 tæång æïng våïi caïc maìu åí baíng trãn Âãø caïc kê tæû nháúp nhaïy ta cäüng thãm 128 vaìo giaï trë maìu.

Vê duû : textcolor(WHITE);

hoàûc textcolor(15);

VIII.6. Haìm textbackground() :

• Máùu : void textbackground(int color);

• Cäng duûng: choün maìu nãön måïi

Color coï giaï trë tæì 0 âãún 7 tæång æïng våïi 8 maìu åí baíng trãn.

Vê duû :

#include <stdio.h>

#include <conio.h>

main() {

int x,y,i=0;

int attr;

char *s=”Da Nang”;

clrscr();

x=10;y=12;

while (s[i]!=’\0’)

{ gotoxy(x++,y++);

putch(s[i]);

i++; attr+=17;

textattr(attr);

} getch();

return 0;

}

VIII.7. Haìm highvideo(), lowvideo() vaì normvideo() :

Caïc haìm naìy âiãöu khiãøn âäü saïng cuía kê tæû. highvideo() cho âäü saïng låïn, lowvideo() cho âäü saïng yãúu, normvideo() cho âäü saïng bçnh thæåìng.

Vê duû : lowvideo(); printf(“ABC”);

normvideo(); printf(“ABC”);

VIII.8. Haìm textattr() :

• Máùu : textattr(int newattr);

Trong âoï newattr laì byte maî hoïa thuäüc tênh maìu.

B b b b f f f f

4 bit f laì maìu kê tæû (foreground), 3 bit b laì maìu nãön (background) vaì bit B xaïc láûp nháúp nhaïy.

• Cäng duûng : xaïc láûp thuäüc tênh cuía kê tæû trãn maìn hçnh.

VIII.9. Haìm wherex, wherey :

• Máùu : int wherex();

int wherey();

• Giaï trë traí vãö : Traí vãö giaï trë laì toüa âäü hiãûn thåìi cuía con troí trãn maìn hçnh

VIII.10. Haìm printf, scanf, cprintf, cscanf :

Chæïc nàng cprintf, cscanf gáön giäúng nhæ printf, scanf nhæng våïi caïc haìm cprintf, cscanf caïc kê tæû hiãûn trãn maìn hçnh seî aính hæåíng båíi cáu lãûnh textcolor, coìn printf, scanf thç khäng.

VIII.11. Haìm window :

• Máùu : window(int x1, int y1, int x2, int y2);

• Cäng duûng : taûo ra cæía säø vàn baín våïi caïc toüa âäü nhæ trãn vaì âæa con troí vãö goïc trãn bãn traïi cæía säø væìa taûo. Caïc lãûnh ghi ra vàn baín trãn maìn hçnh seî nàòm trong cæía säø naìy.

IX. Baìi táûp :

1. Viãút chæång trçnh nháûp baïn kênh R vaì xuáút ra maìn hçnh thãø têch, diãûn têch cuía hçnh cáöu (V=4πR3/3, S=4πR2)

2. Viãút chæång trçnh nháûp theo thæï tæû caïc thäng tin cuía mäüt ngæåìi (hoü tãn, tuäøi, nghãö nghiãûp, âëa chè,...) räöi xuáút ra maìn hçnh caïc thäng tin âoï.

Ch−¬ng V. CAÏC CÁU LÃÛNH ÂIÃÖU KHIÃØN

Thäng thæåìng trong mäüt chæång trçnh, caïc cáu lãûnh âæåüc thæûc hiãûn tuáön tæû tæì trãn xuäúng. Tuy nhiãn coï nhiãöu khi ta laûi muäún thay âäøi tráût tæû trãn nhåì sæí duûng caïc cáu lãûnh âiãöu khiãøn chæång trçnh. Caïc cáu lãûnh âiãöu khiãøn coï thãø laìm cho caïc cáu lãûnh âæåüc thæûc hiãûn nhiãöu láön hoàûc khäng láön naìo caí.

Caïc cáu lãûnh âiãöu khiãøn gäöm coï :

• cáu lãûnh reî nhaïnh : if...else ; switch

• cáu lãûnh nhaíy khäng âiãöu kiãûn

• cáu lãûnh voìng làûp

• cáu lãûnh häù tråü nhæ break, continue.

I. Cáu lãûnh if .. else....:

I.1. Caïc daûng cuía cáu lãûnh if :

Daûng 1 : if (biãøu thæïc) /* khäng coï dáúu cháúm pháøy åí âáy*/

lãûnh_1;

Daûng 2 : if (biãøu thæïc) lãûnh_1;

else lãûnh_2;

biãøu thæïc

khäúi lãûnh 1 T

F

Daûng 1 : nãúu biãøu thæïc coï giaï trë khaïc 0 (TRUE) thç thæûc hiãûn khäúi lãûnh 1, nãúu bàòng 0 (FALSE) thç tiãúp tuûc thæûc hiãûn lãûnh tiãúp theo sau lãûnh if.

Daûng 2 : nãúu biãøu thæïc coï giaï trë khaïc 0 (TRUE) thç thæûc hiãûn khäúi lãûnh 1, nãúu bàòng 0 (FALSE) thç thæûc hiãûn khäúi lãûnh 2.

Biãøu thæïc khäng nháút thiãút phaíi laì biãøu thæïc so saïnh maì coï thãø laì biãøu thæïc säú hoüc.

Vê duû : tçm säú låïn nháút vaì nhoí nháút trong 2 säú nháûp tæì baìn phêm.

#include <stdio.h>

#include <conio.h>

main() {

float x,y,min,max;

printf(“Nhap so thuc thu nhat:”);scanf(“%f”,&x);

printf(“Nhap so thuc thu hai :”);scanf(“%f”,&y);

if ( x<y ) { min = x;

max = y;

} else

{ min = y;

max = x;

}

printf(“\n Gia tri lon nhat = %f, Gia tri nho nhat = %f”,max, min);

getch();

return 0;

}

Ta coï thãø thay thãú lãûnh trãn bàòng lãûnh : min=(x<y)? x:y;

max=(x>y)? x:y;

I.2. Sæû läöng nhau giæîa caïc cáu lãûnh if:

Caïc cáu lãûnh if coï thãø läöng nhau : trong khäúi lãûnh cuía cáu lãûnh if naìy coï thãø coï cáu lãûnh if khaïc. Âãø traïnh nháöm láùn ta nãn sæí duûng dáúu âoïng måí khäúi lãûnh.

biãøu thæïc Khäúi lãûnh 2

khäúi lãûnh 1 T

F

Nãúu säú tæì khoïa if bàòng säú tæì khoïa else thç ta coï tæång æïng tæìng càûp if-else Nãúu säú tæì khoïa if nhiãöu hån säú tæì khoïa else thç else âæåüc gàõn våïi if liãön træåïc noï.

Vê duû : if (n>0) if (a>b) z=a;

else z=b;

Nhæ váûy else seî gàõn liãön våïi if thæï hai.

Âãø chæång trçnh trong saïng, ta cáön tuán thuí :

• Ta nãn sæí duûng càûp dáúu {} âãø chàõc chàõn khäng nháöm láùn.

• Caïc cáu lãûnh, khäúi lãûnh nàòm trong mäüt cáu lãûnh if nàòm dëch vãö bãn phaíi.

• Caïc cáu lãûnh, khäúi lãûnh cuìng cáúp thç viãút thàóng cäüt.

• Âiãøm âáöu vaì âiãøm cuäúi cuía khäúi lãûnh phaíi nàòm thàóng cäüt.

Vê duû : if (n>0) if(a>b) z=a;

tæång âæång våïi : if ((n>0)&&(a>b)) z=a;

I.3. else if:

if (biãøu thæïc 1) khäúi lãûnh 1;

else if (biãøu thæïc 2) khäúi lãûnh 2;

...

else if ( biãøu thæïc n) khäúi lãûnh n;

else khäúi lãûnh n+1;

Âäúi våïi cáu lãûnh naìy :

• Chè coï 1 trong n+1 khäúi lãûnh âæåüc thæûc hiãûn .

• Nãúu biãøu thæïc i laì biãøu thæïc âáöu tiãn khaïc 0 (TRUE) thç khäúi lãûnh i âæåüc thæûc hiãûn

• Nãúu caí n biãøu thæïc âãöu bàòng 0 (FALSE) thç khäúi lãûnh n+1 âæåüc thæûc hiãûn.

Vê duû : giaíi phæång trçnh báûc 2

#include <stdio.h>

#include <conio.h>

#include <math.h>

main() {

float a,b,c,delta;

printf(“\nNhap vao 3 he so:”);

scanf(“%f%f%f”,&a,&b,&c);

if (a==0)

if (b==0) if (c==0)

printf(“\nPhuong trinh dung voi moi x”);

else printf(“\nPhuong trinh vo nghiem!”);

else printf(“\nPhuong trinh co 1 nghiem x: %f”,(-c) / b);

else {

delta=b*b-4*a*c;

if (delta<0.0)

printf(“\nPhuong trinh vo nghiem”);

else if (delta==0.0)

printf(“\nPhuong trinh co mot nghiem kep : x = %f”,-b/(2*a));

else { printf(“\nPhuong trinh co hai nghiem phan biet :”);

printf(“\nx1 = %f”, (-b+sqrt(delta))/(2*a));

printf(“\nx2 = %f”, (-b-sqrt(delta))/(2*a));

} } getch();

return 0;

}

Một phần của tài liệu Lập trình C (Trang 31 - 38)

Tải bản đầy đủ (PDF)

(102 trang)