hàm getch(); dùng để dừng màn hình. Khi bạn muốn xem kết quả bạn phải dùng getch() nếu không có khi mình ấn enter tự động chương sẽ hiện ra kết qua và thoát luôn mình không thể xem được![]()
![]()
![]()
Các bạn ơi, cho mình hỏi getch() có công dụng gì? Mình thấy cuối hàm nào cũng thấy getch() mà không biết để làm gì.Mình đọc sách thì chả thấy cuốn nào nói về nó cả, còn ở lớp thì không được học C. Các bạn giúp mình với. THANK![]()
![]()
![]()
*Chú ý: Không post câu hỏi vào box hưỡng dẫn. Mình move dùm bạn rồi đó, nếu tái phạm sẽ move vào recycle Bin.
Đã được chỉnh sửa lần cuối bởi QuangHoang : 30-10-2008 lúc 08:44 AM.
hàm getch(); dùng để dừng màn hình. Khi bạn muốn xem kết quả bạn phải dùng getch() nếu không có khi mình ấn enter tự động chương sẽ hiện ra kết qua và thoát luôn mình không thể xem được![]()
![]()
![]()
ahhhh!!!!
Ra là thế nhưng mình muốn hỏi thêm : có vài bài mình thấy có cách sử dụng getch thế này:
Vậy có phải nó cũng có giá trị để gán cho một biến nào đó không?Code:c=getch();
nguyên mẫu của hàm getch() nó như thế này
C Code:
int getch(void);
nó dùng để lấy một ký tự từ bàn phím không thông qua màn hình; tức là bàn phím gõ vào ký tự nào nó sẽ lấy ký tự đó không hiển thị trên màn hình.
Nói nó dùng để dừng màn hình là chưa chính xác.
thực ra chúng ta chỉ "ăn gian" với tính chất của thằng getch() thôi, nó sẽ chờ bạn nhập một ký tự nào đó từ bàn phím rồi mới tới công việc khác ( câu lệnh dưới hàm getch()).
Đã được chỉnh sửa lần cuối bởi zkday2686 : 30-10-2008 lúc 04:02 AM.
Thế có nghĩa là việc thêm hàm getch() vào cuối chương trình là không bắt buộc phải không? Cho mình hỏi thêm:Như bạn nói thì hàm getch nó chờ mình nhập một ký tự bàn phím rồi mới tới công việc khác ( câu lệnh dưới hàm getch()), vậy ký tự ấy có thể quy định được phải không.
Như trường hợp lúc trước:
c=getch();
có phải là khi nhập phím c từ bàn phím thì chương trình sẽ chuyển sang công việc kế tiếp không??
Không đúng .Người ta viết thế thì chắc là đã khai báo biến char C. hay một kiểu dữ liệu nào đấy, để lấy giá trị trả về cho hàm getch() thôi.
Mình đã thử lại trên Dev C++ thấy nó không có tác dụng.
Thực tế thì hàm này mình cũng không biết rõ lắm. Trên LINUX và UNIX hình như không có hàm này thì phải ./
@asahi: sai bét nhè.
@duydx:
Có gì mà thắc mắc lòng vòng vớ vẫn chỗ này nhỉ.
hàm getch()
như định nghĩa ở trên tức là:
Dừng chương trình để chờ lấy một kí tự input từ user. (kí tự input sẽ không được hiện ra màn hình, khác với hàm getc())
=> tất nhiên thì lấy xong thì làm việc tiếp theo chứ còn gì nữa.
Khác nhau thế nào giữa 2 chỗ gán vào 1 biến hay không?
= Khác ở chỗ nếu để không gán vào biến thì tức là chỉ để dừng hình thôi, xong thì tiếp tục công việc.
Nếu gán vào biến thì tức là muốn lấy giá trị mà user nhập vào để xử lý.
Nói thẳng ra, cho cậu duydx một bài tập nhỏ làm rồi sẽ rõ.
Bài tập: Viết một chương trình hỏi user một câu sau đó user input để chọn đáp án đúng. Chương trình kết thúc thì dừng màn hình để user xem kết quả.
Yêu cầu:
- In ra một câu hỏi và một số đáp án
- User nhập vào một kí tự, tương ứng với chữ cái trong danh sách đáp án. (kí tự không được hiện ra màn hình)
- Chương trình in ra kí tự mà user input vào
- Đánh giá đáp án của user với đáp án đúng.
- Dừng màn hình chờ user xem kết quả (nhận tín hiệu bằng 1 kí tự rồi tắt)
Demo thế này:
Giải thích thế này mà không hiểu nữa thì đập đầu vào tường điCode:Cau hoi: Con ga co may ngon tay? Dap an: A. 1 B. 2 C. 3 D. 4 E. Nhieu lam khong dem duoc. F. Cha co ngon tay nao. Ban chon dap an nao? _ Dap an ban chon la : F Dap an chinh xac la : F Xin chuc mung ban da tra loi chinh xac cau hoi! Xin an mot phim bat ki de thoat chuong trinh...
None!
Press Anykey to kill ADMINISTRATOR of this Computer.Code:#include<stdio.h> #include<conio.h> void main() { char dola; dola='$'; printf(" Em chỉ thích cái này: %c", dola); getch(); }
Ôi em đập đầu vào tường rồi.Các anh cho em hỏi thế cái hàm chính thức của nó là gì ạ ? ý em hỏi là hàm nguyên mẫu được viết 1 cách đầy đủ của nó ý.Vẫn biết là ta dùng hàm của nó để làm việc.Nhưng nó được viết như thế nào ạ ? Mong các anh chị giải đáp giúp em.
ttecak ?
Em mới vào lập trình nên trình bày còn kém. Nếu code như vậy có đúng ko a cross
Code:#include <iostream> #include <conio.h> using namespace std; int main() { char a; cout <<"Con ga co may ngon chan: "; cout <<"\nA. 1 ngon."; cout <<"\nB. 2 ngon."; cout <<"\nC. 3 ngon."; cout <<"\nD. 4 ngon.\n\n"; int ma; do { ma = getch(); a = ma; if (ma != 'a' && ma != 'b' && ma !='c' && ma != 'd') { cout <<"\nNhap sai cau tra loi! Nhap lai!"; } } while (ma != 'a' && ma != 'b' && ma !='c' && ma != 'd'); cout <<"\n\ndap an ban chon la: " << a; cout <<"\n\ndap an cua cau hoi la: C. 3 ngon"; if (ma == 'c') { cout <<"\n\nDap an cua ban chinh xac!"; } else cout <<"\n\nDap an cua ban sai roi."; cout <<"\n\nNhan phim bat ki de qua cau hoi tiep theo!"; getch(); }
Đã được chỉnh sửa lần cuối bởi furtaro1990 : 15-01-2015 lúc 05:03 PM.