Trang 3 trên tổng số 3 Đầu tiênĐầu tiên 123
Từ 21 tới 25 trên tổng số 25 kết quả

Đề tài: Tính tiền KAROKE có giảm giá dựa theo giờ bắt đầu và thời lượng hat:

  1. #21
    Ngày gia nhập
    08 2010
    Nơi ở
    Đà Nẵng
    Bài viết
    52

    Mặc định Tính tiền KAROKE có giảm giá dựa theo giờ bắt đầu và thời lượng hat:

    oh, bài này tưởng giải quyết xong rùi chứ, haiz tiếc là h mình pùn ngủ quá rùi, mai mình code thử đã , dù gì có sớm trong đêm nay cũng chẳng được gì ^^!

  2. #22
    Ngày gia nhập
    01 2011
    Bài viết
    20

    hiihih! em dung la phai can doc lai sach thui! lam phien chi rui hihih

  3. #23
    Ngày gia nhập
    08 2010
    Nơi ở
    Đà Nẵng
    Bài viết
    52

    có code cho bạn rùi đây, mình đã test rùi, đã hết lỗi
    PHP Code:
    #include <stdio.h>
    #include <conio.h>
    long giodau(long t1)
    {
    long tien1;
    tien1 t1 30000;
    return 
    tien1;
    }
    long giotiep(long t2)
    {
    long tien2;
    tien2 t2 27000;
    return 
    tien2;
    }
    main ()
    {
    int bd,kt,tg,tg1,tg2;
    long t1,t2,tong,tien1,tien2;
    do {
    printf ("Nhap thoi gian bat dau hat: ");
    scanf ("%d",&bd); } while (bd<8);
    do {
     
    printf ("\nNhap thoi gian ket thuc hat: ");
    scanf ("%d",&kt); }while (kt>24);
    tg=kt-bd;
    if(
    kt<=17)
    {
    if(
    tg<=3)
    {
    tong giodau(tg)*10/100;
    printf ("so tien phai tra la: %ld",tong);
    };
    if(
    tg>3)
    {
    tong = (giodau(3)+giotiep(tg-3))*10/100;
    printf ("so tien phai tra la: %ld",tong);
    };
    };
    if(
    bd>17)
    {
    if(
    tg<=3)
    {
    tong giodau(tg);
    printf ("so tien phai tra la: %ld",tong);
    };
    if(
    tg>3)
    {
    tong giodau(3)+giotiep(tg-3);
    printf ("so tien phai tra la: %ld",tong);
    };
    if(
    bd<=17&&kt>17)
    {
    tg1=17-bd;
    tg2=kt-17;
    if(
    tg1<=3)
    {
    tong giodau(tg1)*10/100+giodau(3-tg1)+giotiep(tg2-(3-tg1));
    printf ("so tien phai tra la: %ld",tong);
    };
    if(
    tg1>3)
    {
    tong = ((giodau(3) + giotiep(tg1-3))*10/100) + giotiep(tg2);
    printf ("so tien phai tra la: %ld",tong);
    };
    };
    };
    getch ();


  4. #24
    Ngày gia nhập
    08 2021
    Bài viết
    1

    Mặc định xem thử code của mình nha. Có sai xót mong mọi người góp ý để mình hoàn thiện hơn

    #include<iostream>
    using namespace std;
    int main(){
    int price=30000;
    int n,m,more,pay;
    do{
    cout<<"Gio bat dau: ";
    cin>>n;
    cout<<"Gio ket thuc: ";
    cin>>m;
    if(n<8||n>m||m>24)
    cout<<"vui long nhap lai! (8 <= gio bat dau <= gio ket thuc <= 24)\n";
    }while(n<8||n>m||m>24);
    int time= m-n;
    if(time<=3){
    pay=time*price;
    }
    else if(time>3){
    more=time-3;//thoi gian hon 3 gio
    pay=more*(price*(70.0/100.0))+3*price;
    if(time>=8&&time<=17)
    pay*=(90.0/100.0);
    }
    cout<<"So tien phai tra = "<<pay;
    return 0;
    }

  5. #25
    Ngày gia nhập
    02 2016
    Bài viết
    328

    Trích dẫn Nguyên bản được gửi bởi GAMOLAPTRINH Xem bài viết
    #include<iostream>
    using namespace std;
    int main(){
    int price=30000;
    int n,m,more,pay;
    do{
    cout<<"Gio bat dau: ";
    cin>>n;
    cout<<"Gio ket thuc: ";
    cin>>m;
    if(n<8||n>m||m>24)
    cout<<"vui long nhap lai! (8 <= gio bat dau <= gio ket thuc <= 24)\n";
    }while(n<8||n>m||m>24);
    int time= m-n;
    if(time<=3){
    pay=time*price;
    }
    else if(time>3){
    more=time-3;//thoi gian hon 3 gio
    pay=more*(price*(70.0/100.0))+3*price;
    if(time>=8&&time<=17)
    pay*=(90.0/100.0);
    }
    cout<<"So tien phai tra = "<<pay;
    return 0;
    }
    Đề nguyên thủy:
    Một điểm KARAOKE tính tiền khách hàng theo công thức sau:
    Mỗi giờ tong 3 giờ đầu tiên tính 30000 đồng/giờ
    Mỗi giờ tiếp theo có đơn giá giảm 30% so với đơn giá trong 3 giờ đầu tiên.
    Ngoài ra nếu thời gian thuê phòng từ 8-17 giờ thì được giảm giá 10%. viết chương trình dạng hàm nhập vào số giờ ban đầu và kết thúc và in ra số tền khách hàng phải trả biết rằng 8<=giờ bất đầu<giờ kết thúc<=24.

    Phải nói là Thầy/Cô nào ra bài này dỏm hết sức (trừ phi người hỏi bài không đưa lên đầy đủ)
    1. Đề bài không hề đề cập "đơn vị giờ".
    Nếu có cả phút thì khá rắc rối. Phải lập thêm một và cái hàm cộng trừ nhân chia giờ (cách dễ nhất là tính tất cả ra phút. Khi nào cần in ra mới đổi lại thnahf giwof).
    Tuy nhiên, để giản dị bài giải, ta cứ tự cho rằng giờ là số nguyên, không tính phút.

    2. Đề bài không hề nói giảm 10% cho giờ có nghĩa là giờ tổng cộng hay là giờ bắt đầu 8 và kết thúc 17 (giờ ban ngày)
    Tuy nhiên, để giản dị hóa, ta dùng "giờ tổng cộng"

    3. Đề bài không hề nói 10% giảm trong giờ ban ngày là giảm tất cả hay chỉ từng cụm giờ, và có tính chồng lên giảm 30% hay không?

    Code của bạn:
    do{
    cout<<"Gio bat dau: ";
    cin>>n;
    cout<<"Gio ket thuc: ";
    cin>>m;
    if(n<8||n>m||m>24)
    cout<<"vui long nhap lai! (8 <= gio bat dau <= gio ket thuc <= 24)\n";
    }while(n<8||n>m||m>24); // biểu thức điều kiện tính 2 lần

    Như vầy gọn hơn:
    for ( ; ; ) { // đọc thấy vòng for loại này, ngwwoif ta tự hiểu đây là vòng lặp vô tận, kết thúc bằng break
    cout<<"Gio bat dau: ";
    cin>>n;
    cout<<"Gio ket thuc: ";
    cin>>m;
    if(n<8||n>m||m>24)
    cout<<"vui long nhap lai! (8 <= gio bat dau <= gio ket thuc <= 24)\n";
    else break;
    }

    Code của bạn:
    int time= m-n;
    if(time<=3){
    pay=time*price;
    }
    else if(time>3){ // đã test time <= 3 ở trên rồi thì đâu cẩn test lại
    more=time-3;//thoi gian hon 3 gio
    pay=more*(price*(70.0/100.0))+3*price;
    if(time>=8&&time<=17)
    pay*=(90.0/100.0);
    }

    Như vầy gọn hơn:
    #include <math.h> // hàm trunc dùng để làm tròn số lẻ. Nằm trong thư việ math
    ...
    int time= m-n;
    int pay = price * time; // tính trọn giờ
    if (time > 3) pay -= trunc(.5 + .3 * price * (time - 3)); // trừ phần được bớt 30%
    if(time>=8&&time<=17) pay *= .9;

    Chú thích: vì code của bạn dùng int cho nên tôi để vậy, chứ bài loại này dùng double tốt hơn - tránh bị tràn số.
    Đã được chỉnh sửa lần cuối bởi NguNhuheo : 24-08-2021 lúc 08:51 PM.

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

  1. Giảm béo bụng tự nhiên, Kinh nghiệm từ cuộc sống, theo Blog Giảm béo
    Gửi bởi voyeu999 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 1
    Bài viết cuối: 02-01-2013, 11:08 PM
  2. Lý thuyết giải thuật Các cách biểu diễn cây nhị phân theo theo phương pháp giản đồ và dấu ngoặc lồng nhau?
    Gửi bởi hoangminh29491 trong diễn đàn Thắc mắc CTDL & Giải thuật
    Trả lời: 0
    Bài viết cuối: 05-06-2012, 05:04 PM
  3. Lập trình C Tính tiền KAROKE có giảm giá dựa theo giờ bắt đầu và thời lượng hát
    Gửi bởi nthieucntt trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 01-01-2011, 11:23 PM
  4. Bài tập C Sắp xếp dãy số theo thứ tự giảm dần
    Gửi bởi tuanvu_n trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 13-06-2010, 07:51 PM

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