- Kết quả trả về của hàm là ký tự được ấn.
Với các phím đặc biệt khi được ấn thì có hai giá trị được gửi lên bộ đệm bàn phím:
ngay ký tự đó mà không cần phải enter như các hàm nhập từ stdin.
- Hàm getche() cho hiện ký tự lên màn hình còn getch() thì không
- Kết quả trả về của hàm là ký tự được ấn.
Lưu ý: Cách nhận các phím đặc biệt:
Với các phím đặc biệt khi được ấn thì có hai giá trị được gửi lên bộ đệm bàn phím: đệm bàn phím:
Ví dụ khi ta ấn phím F1 thì giá trị đầu là 0, và giá trị kế là 59 được gửi lên bàn phím. Vì vậy để nhận được mã của các phím này ta phải đọc bộ đệm bàn phím thêm một lần nữa..
Ví dụ:
# include <stdio.h> # include <conio.h>
void main() /* Ham chinh */ { int a,b; char ch; do { clrscr(); printf("b= "); scanf("%c%*c",&b); /*nhập số b*/ printf("a= "); scanf("%c",&a); /*nhập số a*/ printf(" a+ b=%d ",a+b); /* Tính tổng a+b*/ ch=getch(); /*Nhận mã lần thứ nhất*/ if (ch==0) ch=getch(); /*Nhận mã lần thứ hai*/ }
while (ch!=59); /*Nếu ch == F1 sẽ thoát khỏi vòng do.. while*/ }
2.2. Hàm cprintf()
Cú pháp : hàm cprintf có cú pháp giống như hàm printf nhưng màu của nội dung được in bởi hàm cprintf được ấn định bởi hàm textcolor.
2.3. Hàm cscanf()
Hàm cscanf có cú pháp và công dụng như hàm scanf, nhưng khác nhau ở hai
+ Nội dung nhập có màu được ấn định bởi hàm textcolor
+ Nhận nội dung trực tiếp từ bộ đệm bàn phím. Vì vậy với hàm cscanf ta cũng phải khử ký tự \n trong bộ đệm bằng %*c hoặc bằng hàm getch()
Ví dụ
/*Chương trình minh họa hàm Hàm cprintf() và Hàm cscanf() */ # include <stdio.h>
# include <conio.h>
void main() /* Ham chinh */ {
char a,b; /*Khai báo hai biến a,b */ clrscr(); /*Xóa màn hình */
textcolor(YELLOW); /*Đặt mầu chữ*/ textbackground(BLUE); /*Đặt mầu nền*/ cprintf("\nNhap mot so: ");
cscanf("%d%*c",&a); /*Nhập số a, nếu không có %*c sẽ trôi lệnh cscanf dưới*/ cprintf("\nNhap mot ky tu : ");
cscanf("%c",&b); /*Nhập ký tự b*/ cprintf("\n%d %c",a,b); /*in số a và ký tự b*/
getch(); /*Dừng màn hình để xem kết quả*/ }
2.4. Một số hàm thao tác màn hình thuộc conio.h § Hàm xóa màn hình clrscr § Hàm xóa màn hình clrscr § Hàm đặt tọa độ gotoxy § Hàm đặt mầu nền textbackground § Hàm đặt mầu chữ textcolor § Hàm xóa màn hình clrscr clrscr();
(Clear Screen) là hàm xóa toàn bộ màn hình và sau khi xóa con trỏ sẽ ở vị trí góc phía bên trái.
§ Hàm đặt tọa độ gotoxy
gotoxy(int x, int y);
là hàm đặt con trỏ màn hình vào tọa độ X, Y của màn hình. Tọa độ X là tọa độ cột, tính từ 1 đến 80, tọa độ Y là tọa độ dòng, tính từ 1 đến 25. Màn hình gồm 25 dòng và 80 cột.
Ví dụ
§ Hàm đặt mầu nền textbackground
Cú pháp : void textbackground(int color);
Chức năng: Chọn mầu nền
Color là một biểu thức nguyên có giá trị từ 0 đến 7 tương ứng với một trong 8 hằng số màu đầu tiên của bảng mầu văn bản.
Ví dụ
textbackground(3); tương đương textbackground(CYAN); /*Mầu xanh cẩm thạch*/
§ Hàm đặt mầu chữ textcolor
Cú pháp : void textcolor(int newColor);