I have to submit the assignment tomorrow i got stuck in something looks silly the question is:
parking garage charges a \$2.00 miniumum fee to pack for up to three hours.
The garage charges an additional \$0.50 per hour for each hour or part thereof
in excess of three hours. The maximum charge for any given 24-hour period is \$10.00.
Assume that no car parks for longer than 24 hours at a time. Write a program that
calculates and prints the parking charges for each of three customers who parked
their cars in this garage yesterday. You should enter the hours parked for each customer.
Your program should print the results in a neat tubular format and should calculate
and print the total of yesterday’s receipts. The program should A parking garage charges
a \$2.00 miniumum fee to pack for up to three hours. The garage charges an additional
\$0.50 per hour for each hour or part thereof in excess of three hours. The maximum charge
for any given 24-hour period is \$10.00. Assume that no car parks for longer than 24 hours
at a time. Write a program that calculates and prints the parking charges for each of
three customers who parked their cars in this garage yesterday. You should enter the hours
parked for each customer. Your program should print the results in a neat tubular format
and should calculate and print the total of yesterday’s receipts. The program should use
the function calculateCharges to determine the charge for each customer.

and my solution is

``````//Hours and Charges for three cars which parked yesterday
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
using std::fixed;

#include <iomanip>//parameterized stream manipulators
using std::setw;//The output appears in a field width of 10
using std::setprecision; //sets numeric output precision

int main()
{

double TotalHours,   //using the double to use the variables with decimal points
a,
hr1,hr2,hr3,
charge,
calculateCharges;
//Intialization phase
calculateCharges=0;

//Processing phase
cout<< "Enter the hours parked for three cars : ";//prompt for input
cin >> hr1 >> hr2 >> hr3;//input the hour of each of the three cars

cout<< setw(5)<< "Car" << setw(10)<< "Hours" << setw(15)<< "Charges\n\n";
cout<<fixed<<setprecision(2);  //sets numeric output precision
for(int counter=1;counter<=3;counter++) {//loop 3 times and in every loop the counter is incremented by 1

if (counter == 1)
a = hr1;
else if  (counter == 2)
a = hr2;
else if (counter == 3)
a = hr3;
if (a <= 3)
charge = 2;
else if (a >19)
charge = 10;
else if (a > 3)
charge = 2 + (a - 3) * (0.5);

cout <<setw(5) << counter<< setw(10) <<setprecision(2)<< a << setw(10)<< charge <<"\n\n";

calculateCharges+=charge;//in every loop the Sum of the charges is incremented according to the value of the charge
}
//Termination phase

TotalHours=hr1+hr2+hr3;//It gives the total of the hours parked for three cars

cout<<"   "<<"Total"<<setw(7)<<TotalHours<<setw(10)<<calculateCharges<<"\n\n"<<endl;

return 0; //successful termination
}``````

the problem that when the time is shown it has to be only with one decimal point not to decimal points for example if it is 2.40 i need it to be 2.4

Help me plz

Have you tried changing the paremeter for setprecision to see how it affects the output?

Remove `fixed` .

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.