У меня возникли проблемы с выводом двух объектов класса (t1 и t2) в порядке возрастания после запроса пользователю ввести два значения времени. Я знаю, что есть некоторая ошибка в способе bool, и если конструкции структурированы. Любая помощь будет оценена!Вывести два значения времени в порядке возрастания
bool lessthan(Time t2) //For two Time objects t1 and t2, t1.lessthan(t2) returns true if t1 is less than, or comes before t2.
{
if (hours < t2.hours)
{
return true;
}
if (minutes < t2.minutes)
{
return true;
}
if (seconds < t2.seconds)
{
return true;
}
return false;
}
bool greaterthan(Time t2) //For two Time objects t1 and t2, t1.greaterthan(t2) returns true if t1 is greater than, or comes after t2.
{
if (hours > t2.hours)
{
return true;
}
if (minutes > t2.minutes)
{
return true;
}
if (seconds > t2.seconds)
{
return true;
}
return false;
}
bool equalto(Time t2) //For two Time objects t1 and t2, t1.equalto(t2) returns true if t1 is equal to, or is the same time as t2.
{
if (hours == t2.hours)
{
return true;
}
if (minutes == t2.minutes)
{
return true;
}
if (seconds == t2.seconds)
{
return true;
}
return false;
}
В основных функциях у меня есть следующий код:
cout << "\nTime values entered in ascending order: "<<endl;
if (t1.lessthan(t2))
t1.write();
cout << endl;
t2.write();
cout << endl;
Большое вам спасибо за ваш ввод! Однако он все еще не работает должным образом. Кроме того, если я набираю два значения, начинающиеся с той же цифры (например, 08:35:45, затем 05:32:56), она выводит только последние. – user3085117
Вы указали полный код вывода в своем вопросе? Поскольку 't1.write()' будет вызываться только в том случае, если t1 меньше, 't2.write()' в любом случае. –