Hiển thị kết quả từ 1 đến 10 / 10
  1. #1
    Tham gia
    22-05-2007
    Bài viết
    14
    Like
    0
    Thanked 0 Times in 0 Posts

    Ý tưởng mới ! Cách chuyển đổi một string=>một numeric type(kiểu dữ liệu số học) trong C++?

    Em mới học C++, có bài toán này mấy Huynh xem qua rồi chỉ dùm em nhá : :-(

    Đầu vào là một string nhưng lại tính toán trên string đó ( tức là tính toán trên string như tính toán trên số học ).
    VD:
    char ch1[] = "6666.222"
    char ch2[] = "3333.111"
    => làm cách nào để chuyển string "6666.222" và "3333.111" về dạng số ? =>để có thể +,-.. như số học.

    Em cảm ơn mấy Huynh nhé!
    Quote Quote

  2. #2
    Tham gia
    29-11-2004
    Location
    Đà Nẵng
    Bài viết
    411
    Like
    0
    Thanked 4 Times in 4 Posts
    Giả sử đã cắt ra được 2 chuổi có phần lẻ và phần chẵn

    dùng vòng for để tính thôi, ví dụ tính phần chẵn
    decimal tong=0;
    decimal nhan=1;
    for (int i=strlen(chan)-1;i>=0;i--){
    tong+=((decimal)(chan[i]-48))*nhan;
    nhan*=10;
    }
    phần lẻ thì tính tương tự, nhưng tính từ trái sang phải và nhan bắt đầu bằng 0.1 mỗi bước thì chia 10

  3. #3
    Tham gia
    25-10-2007
    Bài viết
    146
    Like
    0
    Thanked 2 Times in 2 Posts
    dùng hàm atof đi bạn, trong tài liệu về C++ có đề cập đến đó.
    ví dụ như
    #include <iostream.h>
    #include <stdlib.h>

    int main ()
    {
    char mybuffer [100];
    float price;
    int quantity;
    cout << "Enter price: ";
    cin.getline (mybuffer,100);
    price = atof (mybuffer);
    cout << "Enter quantity: ";
    cin.getline (mybuffer,100);
    quantity = atoi (mybuffer);
    cout << "Total price: " << price*quantity;
    return 0;
    }

  4. #4
    Tham gia
    29-11-2004
    Location
    Đà Nẵng
    Bài viết
    411
    Like
    0
    Thanked 4 Times in 4 Posts
    Với câu hỏi cho thấy người hỏi đang học thuật toán đó mà, dùng hàm thì thì còn gì thuật toán nữa? tuy nhiên nếu làm vậy, mấy ông thầy chấm bài cũng thả tay

  5. #5
    Tham gia
    25-10-2007
    Bài viết
    146
    Like
    0
    Thanked 2 Times in 2 Posts
    That is optional !!!

  6. #6
    Tham gia
    06-06-2006
    Location
    HCM
    Bài viết
    2,717
    Like
    136
    Thanked 73 Times in 54 Posts
    tui đi làm bài test ở cty, xài thuật toán, 0 xài hàm atoi. tui bị rớt cty đó 2 lần! Chắc là do 0 xài hàm atoi

  7. #7
    Tham gia
    29-11-2004
    Location
    Đà Nẵng
    Bài viết
    411
    Like
    0
    Thanked 4 Times in 4 Posts
    Quote Được gửi bởi thuongshoo View Post
    tui đi làm bài test ở cty, xài thuật toán, 0 xài hàm atoi. tui bị rớt cty đó 2 lần! Chắc là do 0 xài hàm atoi
    Nếu tui chấm bài thì cũng cho bạn rớt, vì khi tuyển người thì cần chú ý đến tính hiệu quả của công việc, trong trường hợp này bạn lại viết cả 1 đoạn dài (rất là ngây thơ) trong khi chỉ cần 1 dòng!

    Còn khi học lập trình lại khác, cần viết để hiểu bản chất của của vấn đề!

  8. #8
    Tham gia
    15-12-2006
    Bài viết
    50
    Like
    0
    Thanked 0 Times in 0 Posts
    ko dùng atoi, atof được mà thuật toán àh :p, bó tay

  9. #9
    Tham gia
    22-05-2007
    Bài viết
    14
    Like
    0
    Thanked 0 Times in 0 Posts

    Rất hay !

    Em cảm ơn mấy hai Huynh hoangchau và desengel nhé !

  10. #10
    Tham gia
    25-10-2007
    Bài viết
    146
    Like
    0
    Thanked 2 Times in 2 Posts
    not at all.......)

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • 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
  •