Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 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. Просмотров 1662. Ответов 18
Метки нет (Все метки)

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

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

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

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

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

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

OpenMP. Время выполнения программы больше чем без OpenMP - C++
Сегодня первый раз сел за OpenMP. Читаю на сайте майкрософта как работает этот API. Так вот там сказано:"Директива #pragma omp for...

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

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

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

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

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

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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