#include <iostream>
int main() {
double startTime;
int callDuration;
double charges = 0;
std::cout << "Enter the starting time of the call in HH.MM format: ";
std::cin >> startTime;
if (startTime < 0 || startTime >= 24) {
std::cout << "Invalid starting time entered.";
} else {
std::cout << "Enter the duration of the call in minutes: ";
std::cin >> callDuration;
if (callDuration < 0) {
std::cout << "Invalid call duration entered.";
} else {
int startHour = (int)startTime;
int startMinute = (startTime - startHour) * 100;
if (startMinute >= 60) {
std::cout << "Invalid starting time entered.";
} else {
if (startTime >= 0 && startTime < 7) {
charges = callDuration * 0.45;
} else if (startTime >= 7 && startTime < 19) {
charges = callDuration * 0.20;
} else if (startTime >= 19 && startTime < 24) {
charges = callDuration * 0.45;
}
std::cout << "Total charges for the call: $" << charges << std::endl;
}
}
}
return 0;
}
00:00-06:59
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:
1 answer