Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: [Hỏi] Mã Ascii của các phím mũi tên

  1. #1
    Ngày gia nhập
    03 2011
    Bài viết
    65

    Red face [Hỏi] Mã Ascii của các phím mũi tên

    Chào các bạn, cho mình hỏi về mã Ascii của các phím mũi tên (lên, xuống, trái, phải).

    Mình có thử viết đoạn code cho nhập 1 ký tự và in ra màn hình mã Ascii của nó.
    Ví dụ: Nhập a thí nó hiện thông báo là: "Ky tu 'A' co ma ascii la 65"

    Nhưng nếu nhập 1 trong 4 phím mũi tên di chuyển thì nó xuất ra 2 dòng lận.
    Cụ thể nếu nhấn phím Mũi tên lên thì nó xuất

    "Ky tu 'α' co ma ascii la 224" // kí tự anpha trong toán học đó
    "Ky tu 'H' co ma ascii la 72"

    Nếu nhập mũi tên xuống thì nó xuất ra

    "Ky tu 'α' co ma ascii la 224"
    "Ky tu 'P' co ma ascii la 80"


    C++ Code:
    1. //Nếu mình viết đoạn code như sau
    2.  
    3. int n=getch();
    4. if (n==224) cout <<"Dung";
    5. else cout <<"Sai";
    6.  
    7. //Thì nếu nhập 1 trong 4 phím mũi tên, nhập phím nào nó cũng báo đúng


    C++ Code:
    1. // Theo như nãy ở trên thì nếu nhập phím mũi tên lên thì nó xuất ra 2 mã ascii là 224 và 72
    2. // nên giờ mình thử đoạn code dưới đây. Nhập phím mũi tên lên
    3. int n=getch();
    4. if (n==224+72) cout <<"Dung";
    5. else cout <<"Sai";
    6.  
    7. // Kết quả là dù nhập phím lên hay các phím trái, phải, xuống... thì nó đều báo sai


    Vậy giờ mã ascii của các phím này là gì? Hoặc có cách nào để kiểm soát các nút đó (vì mình định viết ctrinh sữ dụng các phim mũi tên di chuyển)

    Bạn nào biết giúp đỡ mình với nhé! Xin cảm ơn rất nhiều

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Chỉ có các phím chữ, số mới có mã ascii đơn. Các phím mũi tên hay các phím F1, F2, ... đều có mã kép. Mã kép ko phải là lấy 2 số cộng nhau, mà là bạn phải getch() 2 lần liên tiếp. Ví dụ trong trường hợp của bạn :
    C++ Code:
    1. int n=getch();
    2. if (n==224)
    3. {
    4.    n = getch();
    5.    if (n == 72)
    6.       cout <<"Dung";
    7.    else
    8.       cout<<"Sai";
    9. }
    10. else
    11. {
    12.    cout<<"Sai";
    13. }
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  3. #3
    Ngày gia nhập
    03 2011
    Bài viết
    65

    Cảm ơn bạn nhiều, giờ mình đã hiểu

Các đề tài tương tự

  1. Bảng mã ASCII | Viết chương trình in ra bảng mã ASCII?
    Gửi bởi LQT_7 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 14
    Bài viết cuối: 13-04-2016, 09:33 PM
  2. Bảng mã ASCII
    Gửi bởi fire_dragon14988 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 10
    Bài viết cuối: 28-09-2015, 01:39 PM
  3. Cơ sở làm huy hiệu, bảng tên nhân viên, bảng tên mica, bảng tên ăn mòn, bảng tên thay tên
    Gửi bởi tranngocson186 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 25-05-2013, 08:37 AM
  4. Bài tập C Nhập một danh sách tên sau đó in ra tên họ, đếm xem có bao nhiêu tên họ Lý , Trần..()
    Gửi bởi trangbui trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 01-01-2013, 06:39 PM
  5. Lập trình C++ In ra các số từ 32 đến 122 kèm ký tự ASCII tương ứng
    Gửi bởi quan_pc trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 28-02-2011, 10:54 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn