Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/16: Рейтинг темы: голосов - 16, средняя оценка - 4.63
2 / 2 / 0
Регистрация: 24.05.2010
Сообщений: 94

Функция: Написать функцию next(t, t1, d), которая присваивает параметру t1 время на d секунд больше, чем время t.

24.04.2012, 20:54. Показов 3507. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прошу помочь.
Ввести структуру time с полями часы, минуты, секунды. Составить и протестировать функции:
next(t, t1, d), которая присваивает параметру t1 время на d секунд больше, чем время t. Предусмотреть возможность смены суток.
fun(t1, t2, d), которая вычисляет время d, прошедшее от времени t1 до времени t2.

Добавлено через 13 часов 42 минуты
Помогите пожалуйста...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.04.2012, 20:54
Ответы с готовыми решениями:

Функция, которая увеличивает на Т секунд время
Описать процедуру IncTime (H, M, S, T), которая увеличивает на Т секунд время, заданное в часах Н, минутах М и секундах S (H, M и S-...

Написать функцию, присваивающую параметру t2 время на 1 секунду большее времени t1
Время можно представить с помощью часов, минут и секунд. Написать функцию перевод(t1,t2), присваивающую параметру t2 время на 1 секунду...

Описать функцию которая присваивает первому параметру большее, а второму меньшее из значений
Описать функцию minmax(x,y), которая присваивает первому параметру большее, а второму меньшее из значений x и y. Используя эту функцию...

18
6 / 6 / 0
Регистрация: 01.04.2012
Сообщений: 81
24.04.2012, 22:26
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <iostream>
 
struct time
{
    unsigned int hour, minute, sec;
    time(unsigned int, unsigned int, unsigned int);
};
 
time::time(unsigned int h = 0, unsigned int m = 0, unsigned int s = 0)
{
    hour = (h > 24) ? 0 : h;
    minute = (m > 60)? 0 : m;
    sec = (s > 60)? 0 : s;
}
 
void next(const time* t, time* t1,const unsigned int d)
{
    int mm = d / 60 , hh = mm / 60;
    if((t->hour + hh) > 23)
    {
        std::cout << (t->hour +hh) / 24 << " days pass \n";
        t1->hour = (t->hour + hh) % 24;
    }
    else
        t1->hour = t->hour + (hh % 24);
    t1->minute = t->minute + (mm % 60);
    t1->sec = t->sec + (d % 60);
}
 
void time_miss(const time* t1, const time* t2, time* d)
{
    int i = 0;
    if((t2->sec - t1->sec) > 60)
    {
        i = 1;
        d->sec = t2->sec + 60 - t1->sec;
    }
    else
        d->sec = t2->sec - t1->sec;
    if((t2->minute - t1->minute -i) > 60)
    {
        d->minute = t2->minute + 60 - i - t1->minute;
        i = 1;
    }
    else
    {
        i = 0;
        d->minute = t2->minute - t1->minute;
    }
    if((t2->hour - t1->hour -i) > 24)
    {
        std::cout << "Timer2 < Timer1 \n";
        d->hour = 0;
        d->minute = 0;
        d->sec = 0;
    }
    else
    {
        d->hour = t2->hour - i - t1->hour;
    }
}
 
void print_time(time t)
{
    std::cout << t.hour << ":" << t.minute << ":" << t.sec << "\n";
}
 
void main()
{
    time t1(23,10,10), t2(12,9,7);
    next(&t1, &t2 , 86403*24);
    time* t3 = new time();
    time_miss(&t1, &t2 , t3);
    print_time(t2);
    print_time(t1);
    print_time(*t3);
 
}
Критика уместна , так как сам недавно изучаю с++
1
2 / 2 / 0
Регистрация: 24.05.2010
Сообщений: 94
25.04.2012, 06:17  [ТС]
Огромное спасибо, за помощь!
Поставьте пожалуйста комменты, а то программа находит несколько ошибок.
Например вот здесь:
C
1
void next(const time* t, time* t1,const unsigned int d)
Size of 'next' is unknown or zero
0
6 / 6 / 0
Регистрация: 01.04.2012
Сообщений: 81
25.04.2012, 09:31
Zalik, У меня все нормально было
я не 1 раз запускал и проверал
0
2 / 2 / 0
Регистрация: 24.05.2010
Сообщений: 94
25.04.2012, 20:14  [ТС]
Хорошо, спасибо большое. Приду домой и еще раз перепроверю!

Добавлено через 5 часов 50 минут
balrak, Не могу разобрать результат программы! Поставь пожалуйста комменты и с каким временем мы здесь работаем?
0
6 / 6 / 0
Регистрация: 01.04.2012
Сообщений: 81
26.04.2012, 00:02
0-23 hour
0-59 minute
0-59 second
если я правильно тебя понял
0
2 / 2 / 0
Регистрация: 24.05.2010
Сообщений: 94
26.04.2012, 07:08  [ТС]
А здесь ты просто создал структуру или выполняются 2 поставленных выше условия? Вот что я не понимаю...
0
6 / 6 / 0
Регистрация: 01.04.2012
Сообщений: 81
26.04.2012, 18:07
Создал структуру и сделал функции

Цитата Сообщение от balrak Посмотреть сообщение
next(&t1, &t2 , 86403*24)
которая присваивает параметру t1 время на d секунд больше, чем время t

Цитата Сообщение от balrak Посмотреть сообщение
time_miss(&t1, &t2 , t3)
fun(t1, t2, d), которая вычисляет время d, прошедшее от времени t1 до времени t2.
Как я понял.
0
2 / 2 / 0
Регистрация: 24.05.2010
Сообщений: 94
27.04.2012, 06:27  [ТС]
А какое время установлено первоначально в программе? И откуда берутся t2 и d? Объясни пожалуйста.
0
347 / 292 / 37
Регистрация: 23.03.2012
Сообщений: 838
27.04.2012, 08:45
Цитата Сообщение от Zalik Посмотреть сообщение
А какое время установлено первоначально в программе? И откуда берутся t2 и d? Объясни пожалуйста.
time t1(23,10,10), t2(12,9,7);
0
6 / 6 / 0
Регистрация: 01.04.2012
Сообщений: 81
27.04.2012, 21:39
Цитата Сообщение от balrak Посмотреть сообщение
time t1(23,10,10)
Вот тут я создю таймер с настройкой времени 23:10:10
t2 это второй таймер , созданый сразу же после 1
d это время на какое смещен таймер t1
Цитата Сообщение от balrak Посмотреть сообщение
next(&t1, &t2 , 86403*24);
красное число это время в секундах на какое t2 > t1

Кто то может сказать как прога? оцените пожалуйста
1
2 / 2 / 0
Регистрация: 24.05.2010
Сообщений: 94
28.04.2012, 07:54  [ТС]
balrak, Объясни пожалуйста еще раз результат программы... Очень прошу!
0
6 / 6 / 0
Регистрация: 01.04.2012
Сообщений: 81
28.04.2012, 23:08
Цитата Сообщение от balrak Посмотреть сообщение
time t1(23,10,10), t2(12,9,7); Создаю 2 таймера на 23:10:10 и 12:09:07
* * next(&t1, &t2 , 86403*24); функция делает копирование таймера 1 в таймер 2 и сдвигает время в
таймере 2 на 86403*24
* * time* t3 = new time(); создает указатель на таймер
* * time_miss(&t1, &t2 , t3); Эта функция расчитывает разницу между t2 i t1 и записывает в t3
* * print_time(t2); печать времени в таймере 2
Вот так вот
1
2 / 2 / 0
Регистрация: 24.05.2010
Сообщений: 94
29.04.2012, 05:08  [ТС]
Спасибо!
0
2 / 2 / 0
Регистрация: 24.05.2010
Сообщений: 94
04.05.2012, 05:58  [ТС]
А можно ли сделать так, чтобы время вводилось с клавиатуры?
0
 Аватар для amfisat
70 / 70 / 36
Регистрация: 16.06.2009
Сообщений: 240
04.05.2012, 08:53
Возможно всё.
В main вместо:
C++
1
time t1(23,10,10), t2(12,9,7);
пишешь:
C++
1
2
3
time t1, t2;
    getTime (&t1);
    getTime (&t2);
И где-нибудь вне main добавляешь функцию ввода времени:
C++
1
2
3
4
5
6
void getTime (time* t)
{
    std::cout << "Enter hours: "; std::cin >> t->hour;
    std::cout << "Enter minuts: "; std::cin >> t->minute;
    std::cout << "Enter seconds: "; std::cin >> t->sec;
}
1
2 / 2 / 0
Регистрация: 24.05.2010
Сообщений: 94
05.05.2012, 06:13  [ТС]
В программе, после ввода мной времени, каждый раз получается один и тот же результат 1 минута и 12 секунд. Почему так? И можно ли сделать так, чтобы время на которое мы сдвигаем первоначальное тоже вводилось с клавиатуры? И оба ответа выводились на экран.
0
2 / 2 / 0
Регистрация: 24.05.2010
Сообщений: 94
10.05.2012, 07:01  [ТС]
Друзья, прошу помощи.

Добавлено через 10 часов 48 минут
Помогите пожалуйста
0
2 / 2 / 0
Регистрация: 24.05.2010
Сообщений: 94
13.05.2012, 21:33  [ТС]
Кто может помочь с этой проблемой?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.05.2012, 21:33
Помогаю со студенческими работами здесь

Написать программу, которая переводит время из минут и секунд в секунды
Написать программу, которая переводит время из минут и секунд в секунды. Программа должна проверять правильность введенных пользователем...

Написать программу, которая выводит время на экран с дискретностью в 5 секунд
помогите решить,заранее благодарю

Время. Дано количество секунд. Вычислить время в формате часы/минуты/секунды.
Написать программу, которая требует от пользователя ввести к- секунду и чтобы программа считала сколько полных часов и минут прошло с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru