Мне нужно создать программу, которая читает от пользователя, во сколько они вошли в гараж и во сколько они уехали. Программа использует эту информацию, чтобы затем выяснить, сколько стоит человеку парковаться там. До 30 минут, это бесплатно. Через 30 минут и до 2 часов это базовая плата в размере 3 долл. США плюс 5 центов за каждую минуту сверх 30 минут. По истечении 2 часов это базовая плата в размере 8 долларов плюс 10 центов каждую минуту сверх 2 часов. До сих пор мне нужно было перевести время, которое пользователь ввел во все минуты. Теперь я застрял на том, что делать для остальных моих функций. Я новичок в программировании, и аргументы в функции все еще смущают меня. Если вы можете помочь или предоставить какую-либо обратную связь, расскажите в разделе комментариев, как были реализованы аргументы для правильной работы кода. Вот мой код до сих пор:
#include <iostream>
using namespace std;
int elapsed_time(int entry_time, int exit_time)
{
int total = 0;
total = (exit_time / 100) * 60 + (exit_time % 100) - (entry_time / 100) * 60
+ (entry_time % 100);
return total;
} // returns elapsed time in total minutes
double parking_charge(int total_minutes) {
double total = 0;
double cents = 0;
if(total_mins < 30){
return 0;
}
else if (total_mins <= 120){
cents = (total_mins - 30) * 0.05;
return total = 3 + cents;
}
else{
cents = (total_mins - 120) * 0.10;
return total = 4.5 + 8 + cents;
}
} // returns parking charge
void print_results(total_minutes, double charge)
{
cout << "The charge of parking was: " << parking_charge(total_minutes)
}
int main() {
int entry_time = 0;
int exit_time = 0;
cout << "What was the entry time? (Enter in 24 hour time with no colon) ";
cin >> entry_time;
cout << "What was the exit time? (Enter in 24 hour time with no colon) ";
cin >> exit_time;
cout << print_results(total_minutes, charge);
}
Я обновил свой код с помощью функции оплаты парковки. Сейчас я стремлюсь заставить функцию print_results работать правильно и выяснить, как заставить все это работать вместе в основной функции. Спасибо всем за помощь.
Вы почти закончили, вам нужно правильно вызывать функции в основной функции. Объявите две переменные в основной функции totalTime
а также totalCharge
затем вызовите функцию
#include <iostream>
using namespace std;
int elapsed_time(int entry_time, int exit_time)
{
int total = 0;
total = (exit_time / 100) * 60 + (exit_time % 100) - (entry_time / 100) * 60
+ (entry_time % 100);
return total;
} // returns elapsed time in total minutes
double parking_charge(int total_minutes)
{
int charge;
if (total_minutes <= 30)
charge = 0;
else if (120 > total_minutes < 30)
charge = (3 + (0.05 * total_minutes));
else
charge = (8 + (0.10 * total_minutes));
} // returns parking charge
void print_results(double charge)
{
cout << "The charge of parking was: " << charge;
}
int main()
{
double charge,minutes;
int entry_time,exit_time;
cout << "What was the entry time? (Enter in 24 hour time with no colon) ";
cin >> entry_time;
cout << "What was the exit time? (Enter in 24 hour time with no colon) ";
cin >> exit_time;
minutes=elapsed_time(entry_time,exit_time);
charge=parking_charge(minutes);
print_results( charge);
}
Других решений пока нет …