kết quả từ 1 tới 3 trên 3

[Giúp đỡ] Anh, chị xem giùm em bài này sai chỗ nào?

  1. #1
    Ðến Từ
    TP. Hồ Chí Minh
    Thành Viên Thứ: 361374
    Giới tính: Nam
    Bài gửi
    1

    [Giúp đỡ] Anh, chị xem giùm em bài này sai chỗ nào?

    Chào!

    Em mới học về lập trình C++, mong mọi người giúp đỡ

    Tính tiền Taxi, biết:
    1 km đầu là 15000
    từ km 2 trở đi là 13500
    từ km thứ 6 là 11000

    em nhập 5 km trở lại thì đúng, trên 5 km thì kết quả sai

    #include <iostream>
    using namespace std;
    void main()
    {
    int a,tien;
    cout <<"nhap a";
    cin >>a;
    tien=15000;

    if(a<2)
    tien=a*15000;
    if(2<=a<6)
    tien=(a-1)*13500+tien;
    else
    tien=(a-5)*11000+tien;


    cout <<"tong tien" <<tien <<endl;
    system("pause");


    }

    Thanks very much!
    Quick reply to this message Trả lời       


  2. #2
    Ðến Từ
    TP. Hồ Chí Minh
    Thành Viên Thứ: 56897
    Giới tính: Nam
    Bài gửi
    881

    Reply: [Giúp đỡ] Anh, chị xem giùm em bài này sai chỗ nào?

    Bạn cần phải thêm giá tiền từ km thứ 2 tới 5 nữa ở trường hợp cuối.
    LCD: 13.3" 1920x1080 IPS
    CPU: Intel i7 - 4700MQ (2.4 GHz - 3.4 GHz)
    GPU: Nvidia GTX 765m with GDDR5 2GB
    RAM: 2x8GB G.Skill 2133
    HDD: Samsung SSD 850 Pro 512 GB
    2 kg.

  3. #3
    Ðến Từ
    Hà Nội
    Thành Viên Thứ: 367092
    Giới tính: Nam
    Bài gửi
    7

    Reply: [Giúp đỡ] Anh, chị xem giùm em bài này sai chỗ nào?

    Chia thành ba trường hợp: n == 1, n >= 2 và n <= 6, n > 6.
    Mã:
    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        int n, tien;
        
        cin >> n;
        
        if(n == 1)
        {
            tien = 15000;
        }
        
        if(n >= 2 && n <= 6)
        {
            tien = 15000;
            tien += 13500 * (n - 1);
        }
        
        if(n > 6)
        {
            tien = 15000;
            tien += 13500 * 5;
            tien += 11000 * (n - 6);
        }
        
        cout << tien << endl;
        
    }