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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 5.00
Zalik
2 / 2 / 0
Регистрация: 24.05.2010
Сообщений: 94
#1

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

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

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

Добавлено через 13 часов 42 минуты
Помогите пожалуйста...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2012, 20:54     Функция: Написать функцию next(t, t1, d), которая присваивает параметру t1 время на d секунд больше, чем время t.
Посмотрите здесь:

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

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

Описать процедуру maxmin (x, y) присваивает параметру х большее из вещественных чисел x и y, а параметру у -- меньшее - C++
Процедура maxmin (x, y) присваивает параметру х большее из вещественных чисел x и y, а параметру у -- меньшее. Описать данную процедуру и...

Написать функцию, которая принимает указатель на переменную и присваивает ей модуль самой себя. - C++
Задача 1. Написать функцию, которая принимает указатель на переменную и присваивает ей модуль самой себя.

Конвертировать строку с датой и временем в число секунд и наоборот - число секунд в дату и время - C++
Здравствуйте. Подскажите пожалуйста есть строки типа char/string: 2015.04.30 06:30 как перевести данное время в число секунд. И...

Написать программу которая находит файлы, созданные в нерабочее время - C++
Написать программу которая находит фаайлы, созданные в нерабочее время. Понятия не имею как такое сделать, знаю как искать файлы, но в...

Написать функцию, выводящую время, введённое пользователем, в заданном формате - C++
Здравствуйте! Стоит задача: напишите программу, которая выдает запрос на ввод значений часов и минут. Функция main() должна передать эти...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
balrak
6 / 6 / 1
Регистрация: 01.04.2012
Сообщений: 81
24.04.2012, 22:26     Функция: Написать функцию next(t, t1, d), которая присваивает параметру t1 время на d секунд больше, чем время t. #2
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);
 
}
Критика уместна , так как сам недавно изучаю с++
Zalik
2 / 2 / 0
Регистрация: 24.05.2010
Сообщений: 94
25.04.2012, 06:17  [ТС]     Функция: Написать функцию next(t, t1, d), которая присваивает параметру t1 время на d секунд больше, чем время t. #3
Огромное спасибо, за помощь!
Поставьте пожалуйста комменты, а то программа находит несколько ошибок.
Например вот здесь:
C
1
void next(const time* t, time* t1,const unsigned int d)
Size of 'next' is unknown or zero
balrak
6 / 6 / 1
Регистрация: 01.04.2012
Сообщений: 81
25.04.2012, 09:31     Функция: Написать функцию next(t, t1, d), которая присваивает параметру t1 время на d секунд больше, чем время t. #4
Zalik, У меня все нормально было
я не 1 раз запускал и проверал
Zalik
2 / 2 / 0
Регистрация: 24.05.2010
Сообщений: 94
25.04.2012, 20:14  [ТС]     Функция: Написать функцию next(t, t1, d), которая присваивает параметру t1 время на d секунд больше, чем время t. #5
Хорошо, спасибо большое. Приду домой и еще раз перепроверю!

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

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

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

Кто то может сказать как прога? оцените пожалуйста
Zalik
2 / 2 / 0
Регистрация: 24.05.2010
Сообщений: 94
28.04.2012, 07:54  [ТС]     Функция: Написать функцию next(t, t1, d), которая присваивает параметру t1 время на d секунд больше, чем время t. #12
balrak, Объясни пожалуйста еще раз результат программы... Очень прошу!
balrak
6 / 6 / 1
Регистрация: 01.04.2012
Сообщений: 81
28.04.2012, 23:08     Функция: Написать функцию next(t, t1, d), которая присваивает параметру t1 время на d секунд больше, чем время t. #13
Цитата Сообщение от 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
Вот так вот
Zalik
2 / 2 / 0
Регистрация: 24.05.2010
Сообщений: 94
29.04.2012, 05:08  [ТС]     Функция: Написать функцию next(t, t1, d), которая присваивает параметру t1 время на d секунд больше, чем время t. #14
Спасибо!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.05.2012, 05:58     Функция: Написать функцию next(t, t1, d), которая присваивает параметру t1 время на d секунд больше, чем время t.
Еще ссылки по теме:

Написать инструкцию, которая присваивает целой переменной случайное число - C++
Генератор случайных чисел. Написать инструкцию, которая присваивает целой переменной случайное число в интервале от -10 до +10.

Преобразование секунд в дату и время - C++
Как перевести секунды в дату и время? Но не с 1 января 1970 года, а просто в дату. Уже браузер виснет от вкладок :wall: Вот...

Написать программу, которая предложит схему прохождения всех людей через мост за наименьшее время - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; using namespace std; int main() { int n, i, min, m; cin &gt;&gt; n; ...

Определить время через K (вводится с клавиатуры) секунд - C++
Задачки сверхпростые...но вот чего-то не выходит..общая идея то понятна - она везде там одинакова практически, а как все это собрать не...

Написать функцию которая удаляет книги перед которыми есть книга с тиражом больше 6000 - C++
Есть задание. Написать функцию которая удаляет книги перед которыми есть книга с тиражом больше 6000 Я вот вроде написал, но оно...


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

Или воспользуйтесь поиском по форуму:
Zalik
2 / 2 / 0
Регистрация: 24.05.2010
Сообщений: 94
04.05.2012, 05:58  [ТС]     Функция: Написать функцию next(t, t1, d), которая присваивает параметру t1 время на d секунд больше, чем время t. #15
А можно ли сделать так, чтобы время вводилось с клавиатуры?
Yandex
Объявления
04.05.2012, 05:58     Функция: Написать функцию next(t, t1, d), которая присваивает параметру t1 время на d секунд больше, чем время t.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru