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

Đề tài: Tìm chính xác tọa độ y (dùng cho hàm gotoxy)??

  1. #1
    Ngày gia nhập
    12 2007
    Bài viết
    6

    Angry Tìm chính xác tọa độ y (dùng cho hàm gotoxy)??

    Do khi chương trình được thực hiện sẽ có độ dài không cố định nên mình không thể gán một số cố định y cho hàm gotoxy(x,y) được.
    Vấn đề đặt ra là làm sao để trả về chính xác tọa độ y sau khi một câu lệnh nào đó được thực thi ?
    vd: printf("Hoc C kho qua"); <= cần lấy chính xác tọa độ y ngay khi câu lệnh này được thực thi.

    Các bạn có biết hàm hay đoạn chương trình nào có thể đáp ứng được yêu cầu này không chỉ mình với

  2. #2
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Vấn đề đặt ra là làm sao để trả về chính xác tọa độ y sau khi một câu lệnh nào đó được thực thi ?
    Toạ độ y của cái gì ? Cậu thêm 1 tí chi tiết nữa xem ? Chưa hiểu rõ lắm yêu cầu của cậu nên tui không thể cho ví dụ được !

  3. #3
    Ngày gia nhập
    12 2007
    Bài viết
    6

    à là như thế này đây ^^
    Ví dụ như khi in xong bài thơ

    Yêu nhau như chó với mèo
    Yêu được một lúc mèo trèo lên cây
    Chó nhìn ánh mắt thơ ngây
    Giậm chân xuống đất: "MẸ MÀY, XUỐNG KHÔNG" x
    Mèo nhìn : "ĐỒ CHÓ LẮM LÔNG...
    BÀ ĐÂY KHÔNG XUỐNG, ĐỒ KHÔNG BIẾT TRÈO.."



    thì mình sẽ quay lên lại chỗ dấu x đó in ra câu "Ha ha ha chết chưa !!" . Như vậy phải dùng hàm gotoxy(x,y) với (x,y) là tọa độ ngay chỗ dấu x đó, nhưng để làm thế nào lấy tọa độ (x,y)???? x thì có thể cho xa xa ra cũng được, nhưng y thì tùy, còn phía trên nó có thể thay đổi nên không thể cho cố định một giá trị nào đó.

  4. #4
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Nếu in ra rùi thì theo tui nghĩ chắc là không thể lấy toạ độ của nó được, vì muốn trả về toạ độ thì phải có cursor tại 1 thời điểm nó đó ( key hoặc mouse ). Nhưng tui cũng không chắc lắm. Tui sẽ search kĩ lại sau. Tuy nhiên nếu cậu muốn thao tác với các dạng cursor trong console application thì :
    - Nếu cậu dùng Windows thì coi thư viện #include <conio.h> hay #include <windows.h> nó có rất nhiều hàm hỗ trợ console.
    - Nếu cậu dùng Linux hay Unix thì cậu coi qua #include <ncures>.

  5. #5
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,750

    Sử dụng 2 hàm sau đây đi bạn ah:
    wherex(); và wherey();
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

  6. #6
    Ngày gia nhập
    06 2007
    Nơi ở
    C:\WINDOWS\system32\dllcache\
    Bài viết
    3,006

    Mặc định Tìm chính xác tọa độ y (dùng cho hàm gotoxy)??

    Thâu tóm màn hình. Đó là cách.
    Để làm được điều đó cần hiểu rõ bản chất.
    cách đơn giản nhất : test thử nhiều là biết.
    cách khác hiệu quả hơn : đọc sách.
    hết.

    ko hiểu chỗ nào có thể hỏi.
    ^_,^

    Tổng hợp các câu chuyện hài hước vui nhộn, sử dụng Speech Synthesis để đọc : https://www.youtube.com/channel/UCLk...Tjrg/playlists


    Bùi Tấn Quang

  7. #7
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Tui đã coi lại cái Win32API, cậu có thể tìm 1 cuốn ebook nào về Visual C++, nó sẽ có công dụng cơ bản của các hàm này, phần lớn các hàm này nó nằm trong #include <windows.h> và cậu nhớ rằng những hàm này không phải ISO C, nó chỉ phụ thuộc vào windows system mà thôi, tui nghĩ cậu dùng windows nên đây tui sẽ demo cho cậu vài ví dụ về Win32API console. Trong windows chỉ có tên hàm là "màu mè syntax" cậu đọc vào nếu chưa học thì cũng đừng sợ gì hết, đọc 1 lần chưa nhớ, đọc 2 lần... chẳng có khỉ gì hết.
    Tui đi từ 1 ví dụ đơn giản nhất, và tui dùng cout và cin của C++, cậu thích thì dùng printf() và scanf(), nếu cậu chưa học C++ thì nói tui sẽ chuyển lại về C, chẳng qua vì tui nhác type printf T_T, vì tui code C++ nhiều hơn C rất nhiều nên tui quen dùng cout và cin hơn cậu thông cảm.

    C++ Code:
    1. #include <windows.h>
    2. #include <iostream>
    3. using namespace std;
    4.  
    5. int main()
    6. {
    7.     SetConsoleTitle( "AAA" );
    8.     cout << "Hello World!" << endl;
    9.     return 0;
    [/code]
    Cậu chạy thử sẽ thấy cái cửa sổ nó có tên AAA, hàm đó là thuộc windows system.

    Còn đây là kiểu COORD của windows, nó được định nghĩa đại loại như :
    C++ Code:
    1. typedef struct _COORD {
    2.     SHORT X;
    3.     SHORT Y;
    4. } COORD;

    Một ví dụ đơn giản nữa :
    C++ Code:
    1. #include <windows.h>
    2. #include <iostream>
    3. using namespace std;
    4.  
    5. int main()
    6. {
    7.     HANDLE outhand;
    8.     int i;
    9.     COORD Position;
    10.  
    11.     outhand = GetStdHandle( STD_OUTPUT_HANDLE );
    12.  
    13.     for( i = 0; i < 10; i += 2 )
    14.     {
    15.         Position.X = i;
    16.         Position.Y = i;
    17.         SetConsoleCursorPosition( hOut, Position );
    18.         cout << "*" << flush;
    19.     }
    20.  
    21.     return 0;
    22. }
    Còn bây h là cái cậu cần, lý do tui đi 1 vòng vậy vì tui sợ cậu chưa biết Win32API, còn nếu cậu rành rùi thì coi như tui cũng khá rảnh T_T.
    C++ Code:
    1. #include <windows.h>
    2. #include <iostream>
    3.  
    4. using namespace std;
    5.  
    6. int main()
    7. {
    8.     HANDLE hOut;
    9.     char   Letter;
    10.     char   Letters[5];
    11.     COORD  Where;
    12.     DWORD  NumRead;
    13.  
    14.  
    15.     hOut = GetStdHandle( STD_OUTPUT_HANDLE );
    16.  
    17.     cout << "A line of little consequence." << endl;
    18.  
    19.     Where.X = 0;
    20.     Where.Y = 0;
    21.  
    22.     ReadConsoleOutputCharacter( hOut,
    23.                                 &Letter,
    24.                                 1,
    25.                                 Where,
    26.                                 &NumRead
    27.                                );
    28.  
    29.     cout << "Letter at (0,0) is " << Letter << endl;
    30.  
    31.     Where.X = 4;
    32.  
    33.     ReadConsoleOutputCharacter( hOut,
    34.                                 Letters,
    35.                                 5,
    36.                                 Where,
    37.                                 &NumRead
    38.                               );
    39.  
    40.     cout << "5 letters starting from (4,0) ";
    41.     for(int g = 0; g < 5; ++g)
    42.     {
    43.         cout << Letters [g ];
    44.     }
    45.  
    46.     cout << endl;
    47.  
    48.     return 0;
    49. }

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

  1. thắc mắc về hàm gotoxy
    Gửi bởi toi_di_tim trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 18-03-2013, 02:50 PM
  2. Muốn dùng lệnh gotoxy trong VC thì làm thế nào vậy?
    Gửi bởi ngdct trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 3
    Bài viết cuối: 22-06-2011, 10:42 PM
  3. sử dụng gotoxy trong dev-c, vc++
    Gửi bởi kenium trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 7
    Bài viết cuối: 04-01-2011, 09:42 AM
  4. Hàm gotoxy | Công cụ và cách sử dụng hàm gotoxy??
    Gửi bởi Duy Con trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 01-06-2009, 12:28 PM
  5. [Solved] Về gotoxy()
    Gửi bởi RedHatLinux9 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 17-09-2008, 07:43 AM

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