Long-Distance Calls A long-distance carrier charges the following rates for tele
ID: 663929 • Letter: L
Question
Long-Distance Calls A long-distance carrier charges the following rates for telephone calls: Starting Time of Call Rate per Minute 00:00–06:59 0.05 07:00–19:00 0.45 19:01–23:59 0.20 Write a program that asks for the starting time and the number of minutes of the call, and displays the charges. The program should ask for the time to be entered as a floating- point number in the form HH.MM. For example, 07:00 hours will be entered as 07.00, and 16:28 hours will be entered as 16.28. Input Validation: The program should not accept times that are greater than 23:59. Also, no number whose last two digits are greater than 59 should be accepted. Hint: Assuming num is a floating-point variable, the following expression will give you its fractional part: num static_cast<int>(num)
Copyright | Addison-Wesley | Starting Out with C++ | Edition 8 | lynn.crum@hotmail.com | Printed from www.chegg.com
Explanation / Answer
#include<iostream.h>
int main()
{
float start_time,end_time;
while(1)
{
cout<<"enter starting time ";
cin>>start_time;
int intpart = (int)start_time;
double decpart = start_time - intpart;
cout<<"enter end time ";
cin>>end_time;
int intpart1 = (int)end_time;
double decpart1 = end_time - intpart1;
if ((start_time > 23.59) || (end_time > 23.59) || (decpart1 > 0.6) || (decpart > 0.6))
{
cout<<"time is not valid.re-enter ";
continue;
}
else
{
break;
}
}
float balance,charge,mid;
balance = end_time - start_time;
if (balance < 6.59)
charge = 0.05 * balance;
else if (balance < 19.01)
{
mid=balance - 6.59;
charge = 0.3295 + (mid*0.10);
}
else
{
mid = balance - 19;
charge = 1.5295 + (mid*0.20);
}
cout<<"charge is "<<charge;
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.