Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 5 của 5
  1. #1

    Viết chương trình căn lề trái , phải và căn 2 bêntrong C

    Mình gặp phải bài tập về viết chương trình căn lề (console)???? Và mình dự định bố trí các ký tự hiện ra giống như bố trí chúng sắp xếp vào 1 mảng. Khi căn 2 bên thì vấn đề gặp phải là số khoảng trống giữa các từ trong một dòng là bất kỳ trong khi số ký tự trong 1 dòng là cố định dẫn đến mình không thể chia đều chúng ra trong trường hợp tổng quát.

    VD khi gõ vào dòng: "Ca dao tục ngữ Việt Nam."

    Nếu dòng tối đa chi ghi được 16 ký tự chẳng hạn vậy là chỉ ghi được đến chữ 'V', nếu gõ tiếp thì phải xuống dòng từ chữ V và ở đây dòng đầu sẽ dư 2 ký tự nên ta phải chia 2 ký tự này cho 3 khoảng trống trước đó tức là phải thêm vào 2 khoảng trống nữa mà có tận 3 vị trí vì vậy sẽ không được đều.
    Ai có hướng nào giải quyết bài này không>>>????

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    thêm vào đâu là tùy bạn, miễn là trông cân đối thẳng hàng

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    uh, chỉ là m hơi băn khoăn khi thấy có chút sai lệch

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Tìm mãi cũng thấy , để hiển thị ra màn hình( vị trí x,y trên màn hình console ) ta dùng các hàm
    //Hàm này lấy vị trí con trỏ trên màn hinh
    COORD GetPositionCoord(){
    HANDLE hConsoleOutput=GetStdHandle(STD_OUTPUT_HANDLE);
    CONSOLE_SCREEN_BUFFER_INFO m_ConsoleScreenBufferInfo ;
    GetConsoleScreenBufferInfo(hConsoleOutput,&m_Conso leScreenBufferInfo) ;
    return(m_ConsoleScreenBufferInfo.dwCursorPosition) ;
    }
    //Hàm này dùng di chuyển con trỏ đển nơi mong muốn
    void Gotoxy(COORD cur)
    {
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_H ANDLE), cur);
    }
    COORD là cấu trúc giống như point có 2 trường :x,y

  5. #5
    Mình gặp vấn đề tiếp theo là( ví dụ mình gõ vào đoạn soạn thảo sau):

    Tuc Nghu Viet Nam chon loc
    Suu tam....

    thì phát hiện sai tiếng: "nghu", lúc này mình không có cách quay lại chỗ đó để sửa
    dùng hàm j đây mọi người ???help me
    p/s: mình chỉ xóa được ký tự nằm ở dòng cuối cùng, còn ko xóa đc dòng trên đó

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •