Trang 1 trên tổng số 3 123 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 21 kết quả

Đề tài: Nhập xuất tiếng Việt trong Console (cmd.exe)

  1. #1
    Ngày gia nhập
    08 2017
    Bài viết
    3,084

    Mặc định Nhập xuất tiếng Việt trong Console (cmd.exe)

    Tôi từng băn khoăn việc học lập trình cơ sở, cơ bản liên quan đến tiếng Việt.
    Đã được chỉnh sửa lần cuối bởi MHoang : 18-05-2019 lúc 05:55 PM.

  2. #2
    Ngày gia nhập
    12 2015
    Nơi ở
    Đà Nẵng
    Bài viết
    446

    Trích dẫn Nguyên bản được gửi bởi Monre Xem bài viết
    WebSite http://2.pik.vn/ đã giải thể, các hình ảnh trên đó không còn

    Biên dịch bằng minGW
    Code:
    c++ ioCmd.cpp -o ioCmd.exe
    Hình chụp, biên dịch, chạy thử:
    Sao tham số thứ 2 của WriteConsoleW thứ 1 và 3 thì có & còn thứ 2 không có &
    không có bộ gõ thích hợp nên không thử được ReadConsoleW

    - - - Nội dung đã được cập nhật ngày 05-04-2018 lúc 10:14 PM - - -

    Bộ gõ tiếng Việt tốt, nhưng hơi bất tiện.

  3. #3
    Ngày gia nhập
    08 2017
    Bài viết
    3,084

    Trích dẫn Nguyên bản được gửi bởi MHoang Xem bài viết
    MHoàng xin có vài lời :
    _ Kiến thức không được bằng ngừoi khác. trình độ thì thua cả con gà, kinh nghiệm là số 0, chỉ còn lại nhiệt huyết. Khổ nỗi các điều kiện làm Mod mình không đáp ứng được.
    _ Nếu BQT cần một người quét rác, mình sẽ đăng ký ( bởi mình đọc rất kỹ luật lệ tham gia nên thấy không đủ điều kiện để làm Mod).

    Điều kiện hiện có của mình là:
    _ Một số điện thoại
    _ Một tấm lòng
    _ Một lời cam kết, hết lòng với CĐCV, hết lòng với những người đam mê khoa học lập trình.
    Còn lại tất cả là ở BQT.

    Xin BQT xem xét.
    Kiến thức còn thua cả con gà, kinh nghiệm là số 0 biết máu gì mà sửa hả Hoang?

  4. #4
    Ngày gia nhập
    08 2017
    Bài viết
    3,084

    Đã có bao nhiêu giải thưởng, bao nhiêu phát minh liên quan đến tiếng Việt bạn biết tới?

  5. #5
    Ngày gia nhập
    08 2017
    Bài viết
    3,084

    Một số, giá trị của nó, có thể biểu diễn ở nhiều dạng khác nhau. Dạng thập phân, hex, oct hay bin ...
    Dùng GNU gdb có thể giúp xuất giá trị ra nhiều dang khác nhau:
    Code:
    (gdb) print/a 124
    $8 = 0x7c
    (gdb) print/o 124
    $9 = 0174
    (gdb) print/t 124
    $10 = 1111100
    // a: hex, o: oct, t: two

  6. #6
    Ngày gia nhập
    08 2017
    Bài viết
    3,084

    Mặc định Nhập xuất tiếng Việt trong Console (cmd.exe)

    Binary không được hỗ trợ trong các hàm thông thường của c, viết nó không khó


    Bạn có thể dịch giao tiếp sang ngôn ngữ thân thiện với người dùng, ví dụ En -> Vi.
    Trong trường hợp đó tôi sẽ giúp bạn biết chi tiết hàm dec2bin viết như thế nào.

  7. #7
    Ngày gia nhập
    08 2017
    Bài viết
    3,084

    Nhiều lúc chúng ta không cần làm trực tiếp (từ định lý) mà có thể làm gián tiếp (qua hệ quả).
    ... một chữ số thập lục phân tương đương với 4 bit nhị phân (410)

    Bài toán trên, output decToBinary, có thể sự dụng hàm sprintf lấy chuỗi hex, thay mỗi digit-Hex thành group-Bin là đủ, là được.

  8. #8
    Ngày gia nhập
    08 2017
    Bài viết
    3,084

    Bỏ kiểm tra tràn số, nhập sai .. bài toán trên có thể viết như sau:
    C Code:
    1. #include <stdio.h>
    2. #include <string.h> //for strlen
    3.  
    4. const char* bin[] = {"0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111",
    5.                      "1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111"};
    6. int main(){
    7.     printf("Convert integer to binary string.\n");
    8.    
    9.     char buffer[9]; //sizeof(int) * 2 + 1
    10.     int inp;
    11.     do{
    12.         fflush(stdin);
    13.         printf("Input, 0 to quit, decimal n = "); scanf("%d", &inp);
    14.        
    15.         sprintf(buffer, "%X", inp); //to hex
    16.         printf("Output, hex : %8s, binary : ", buffer);
    17.        
    18.         //Căn phải nếu cần thiết ...
    19.  
    20.         char kt = buffer[0];
    21.         if (kt < 58)
    22.             printf("%s", bin[kt - 48]); // 0 - 9
    23.         else printf("%s", bin[kt - 55]);// A - Z
    24.         //
    25.         int len = strlen(buffer);
    26.         for(int i = 1; i < len; i++){
    27.             printf("."); //dot, group_Separator  
    28.             kt = buffer[i];
    29.             if (kt < 58)
    30.                 printf("%s", bin[kt - 48]); // 0 - 9
    31.             else printf("%s", bin[kt - 55]);// A - Z
    32.         }
    33.         printf("\n\n");
    34.     }
    35.     while (inp);
    36.  
    37.     return 0;
    38. }

  9. #9
    Ngày gia nhập
    08 2017
    Bài viết
    3,084

    Nhập xuất không chỉ trên cmd - runtime; nó cần lưu, lấy dữ liệu lên từ tập tin (file)

    Từ từ sẽ bàn đến, làm việc với nó sau.

  10. #10
    Ngày gia nhập
    08 2017
    Bài viết
    3,084

    Hình chụp trước ...


    diễn giải sau.

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