题目
(停车费)停车场3小时内的最少收费是2.00美元。超过3小时每增加1小时或者不到1小时需要收取0.50美元的附加费用。24 小时之内的最多收费是10美元。假设没有车子一次停车时间超过24小时。请编写一个程序,计算并显示昨天的三个客户各自的停车费用。要求应该输人每个客户的停车时间。程序应该以整齐的表格形式打印结果,并应该计算和打印昨天收费的总和。程序应该使用calculateCharges 函数来确定每个客户的停车费用。程序的输出要求采用下面的格式。
代码
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
double calculateCharges(double);
int main()
{
double hours[3];
double sumCharge = 0, sumHours = 0;
cout << "请输入每个客户的停车时间:";
cin >> hours[0] >> hours[1] >> hours[2];
cout << "Car\tHours\tCharge\n";
for (int i = 0; i < 3; i++)
{
cout << right << fixed;
double charge = calculateCharges(hours[i]);
cout << i + 1 << "\t"
<< setw(5) << setprecision(1) << hours[i] << "\t"
<< setw(6) << setprecision(2) << charge << endl;
sumCharge += charge;
sumHours += hours[i];
}
cout << "TOTAL\t"
<< setw(5) << setprecision(1) << sumHours << "\t"
<< setw(6) << setprecision(2) << sumCharge << endl;
system("pause");
return 0;
}
double calculateCharges(double hours)
{
double money;
if (hours <= 3)
{
money = 2.0;
}
else
{
hours -= 3;
hours = ceil(hours);
money = 2 + hours * 0.50;
}
if (money > 10)
money = 10.00;
return money;
}