Форум программистов, компьютерный форум CyberForum.ru

Как правильно написать функцию? - C++

Восстановить пароль Регистрация
 
QWERY_2012
5 / 5 / 2
Регистрация: 09.09.2012
Сообщений: 227
14.10.2012, 12:06     Как правильно написать функцию? #1
Необходимо написать функцию кот вычисляет интервал времени:

void DigitalTime::interval_since(const DigitalTime& a_previous_time, int& hours_in_interval, int&minutes_in_interval) const

которая считает интервал времени между 2 значениями типа DigitalTime. Одно из значений DigitalTime - объект кот call the member function interval_since и другое значение типа DigitalTime - дано как первый аргумент.

Например, след. код:
DigitalTime current(5, 45), previous(2, 30);
C++
1
2
3
4
5
6
int hours, minutes;
current.interval_since(previous, hours, minutes);
cout << "The time interval between" << previous
<< "and " << current << endl
<< "is " << hours << "hours and "
<< minutes << " minutes.\n";
Должен быть след. output:
The time interval between 2:30 and 5:45 is 3 hours and 15 minutes.

Пусть время в первом аргументе будет позже на 1 день.
Так же написать программу что бы протестировать данный класс.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.10.2012, 12:06     Как правильно написать функцию?
Посмотрите здесь:

не могу разобраться как написать функцию сортировки и исправить функцию добавления в стек C++
Как правильно написать функцию, которая редактирует структуру по полю Name и возвращает новую, исправленную структуру?.. C++
Как правильно написать функцию push (положить в стек) C++
C++ Как правильно записать функцию?
Как правильно вызвать функцию с указателем на другую функцию как параметр C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
snw
10 / 10 / 0
Регистрация: 11.10.2012
Сообщений: 93
14.10.2012, 14:22     Как правильно написать функцию? #2
посмотрите реализацию time.h, это натолкнет вас на на более правильный путь.
QWERY_2012
5 / 5 / 2
Регистрация: 09.09.2012
Сообщений: 227
14.10.2012, 22:15  [ТС]     Как правильно написать функцию? #3
Но где посмотреть?
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
14.10.2012, 22:21     Как правильно написать функцию? #4
переводите время в секунды и считайте разницу по времени в секундах. потом получаете сколько часов минут секунд укладывается в полученную разницу.
алгоритм примерно такой:

считаем разницу между т1 и т2.
sec1 = getSeconds(t1); // преобразуем время в секунды
sec2 = getSeconds(t2); // преобразуем время в секунды
if (sec1 < sec2)
{
sec1 += 60 * 64 * 24; // накидываем суточное количество секунд.
}

diff = sec1 - sec2;
и вот теперь нужно определить сколько часов и минут и секунд вмечается в эту разницу.
скажем, если разница составляет 186 секунд, то это 0 часов, 3 минуты и 6 секунд.
Yandex
Объявления
14.10.2012, 22:21     Как правильно написать функцию?
Ответ Создать тему
Опции темы

Текущее время: 03:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru