Mọi người cùng thảo luận cách giải của bài toán này nha Một điểm kraoke tính tiền theo công thức sau. - Mổi giờ trong 3h đầu tiên tính 60.000đ/h. - Mổi giờ tiếp theo giảm 30% so với đơn giá trong 3h trước. Ngoài ra nếu thời gian thuê phòng từ 8h - >14h thì được giảm giá 15%. Viết chương trình nhập vào h giờ ban đầu, giờ kết thúc và in ra màn hình số tiền khách hàng phải trả 8<h ban đầu<h kết thúc.
Phương pháp giải quyết vấn đề 1 Viết hàm tính giờ : - Dùng tách chuỗi để lấy giờ và phút ( ví dụ 8.30 ==có nghĩa 8h và 30ph) - Tính số phút Sp=gio*60+phút ( vd : 8*60+30) - Lấy Số phút ((Tính khi nhập vào thời jan kết thúc) - Số phút (Tính khi nhập vào thời jan bắt đầu)/60)==>Ra đc jơ 2 hàm tính tièn int Tinhtien(int gio) { if(gio<=3) { return= 60*gio; } else { return (3*60)+(gio-3)*(70*60/100); //Giam 30% con 70% } } 3 Kiem tra thuoi gian noi sau
Mọi người cùng thảo luận cách giải của bài toán này nha Một điểm kraoke tính tiền theo công thức sau. - Mổi giờ trong 3h đầu tiên tính 60.000đ/h. - Mổi giờ tiếp theo giảm 30% so với đơn giá trong 3h trước. Ngoài ra nếu thời gian thuê phòng từ 8h - >14h thì được giảm giá 15%. Viết chương trình nhập vào h giờ ban đầu, giờ kết thúc và in ra màn hình số tiền khách hàng phải trả 8<h ban đầu<h kết thúc. Cách này chỉ hiẹn hữu vứi biến 2 giá trị, nếu làm tốt hơn phải tách chuỗi để phân ra giờ và phút int sotien(int giobatdau,int gioketthuc) { int tien,gio=giobatdau-gioketthuc,giokm=0; { if (gio <= 3) tien = 60*3; else //lớn hơn 3 giò được giảm 30% tien = 60*3 + ((gio-3)*(60/100*70)) // 3 giờ đầu tính 60K, các giờ tiêp theo (giờ - 3 giờ //đầu) tính = 70% so với giá gốc } // xong hàm tính tiền, tiếp tục chạy hàm khuyến mãi ngày if (giobatdau >= 8 && giobatdau < 14) // bat dau tu 8h-13h se co 1h khuyen mai hoac hon { giokm = gioketthuc - giobatdau; //cai nay ton tai so gio dc khuye mai else giokm = 0; } // ham tinh tien khuyen mai tien = tien- (giokm*60/100*15); // duoc khuyen mai giam 15% return tien; } void main() { int gio,giokt,sotien; cout<<"Nhap vao gio bat dau : "; cin>>gio; cout<<"Nhap vao gio ket thuc : "; cin>>giokt; sotien = sotien(gio,giokt); cout<<"Tong so tien thanh toan la : "<<sotien; } Nếu làm thoe thế này là 1 thuật toán tối ưu, lí do khi chèn sẽ không lồng vào hàm gò bó Đệ gà xin các huynh chỉ giáo