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

Необходимо к текущему времени прибавить n часов и m минут - C++

Восстановить пароль Регистрация
 
4ever_antares
0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 2
30.03.2014, 14:02     Необходимо к текущему времени прибавить n часов и m минут #1
в программе необходимо к текущему времени автоматически прибавить n часов и m минут, чтобы в полученное время сработал будильник
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2014, 14:02     Необходимо к текущему времени прибавить n часов и m минут
Посмотрите здесь:

Идет K-ая секунда суток. Определить, сколько полных часов и полных минут прошло к этому моменту. C++
сколько человек прожил месяцев, дней, часов, минут, секунд C++
C++ Идет n-я секунда суток. Определить, сколько полных часов и полных минут прошло до этого момента.
C++ Какое время будут показывать часы через р часов q минут r секунд?
C++ Напишите программу, которая выдает запрос на ввод значения часов и значения минут.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YDS
11 / 11 / 5
Регистрация: 29.03.2014
Сообщений: 61
30.03.2014, 14:20     Необходимо к текущему времени прибавить n часов и m минут #2
Предлагаю Вам использовать функцию clock() таким образом. (Думаю подключить #include вы сможете, я подключу только тот который нужен для времени)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <ctime>;
void main()
{
 
int n, ntos;
int m, mtos;
int budilnik;
n = 1;
m = 30;
ntos = n*3600; // здесь мы часы переводим в секунды
mtos = m*60; // здесь мы минуты переводим в секунды
budilnik = time + ntos + mtos;
bool okay = true;
while(okay)
{
clock_t time = clock(); // здесь мы берем теперешнее время в секундах
if(budilnik == time) // проверяем пришло ли время будильника
{
  ALARM(); // функцию АЛАРМ напишите сами смотря как Вам нужно показывать работу будильника
  okay = false;
}
}
}
zss
Модератор
Эксперт С++
 Аватар для zss
5950 / 5555 / 1786
Регистрация: 18.12.2011
Сообщений: 14,196
Завершенные тесты: 1
30.03.2014, 14:22     Необходимо к текущему времени прибавить n часов и m минут #3
YDS, budilnik = time + ntos + mtos; <- чему равно time?
Цитата Сообщение от YDS Посмотреть сообщение
if(budilnik = time)
а это операция присвоения,
а не проверки на равенство.
YDS
11 / 11 / 5
Регистрация: 29.03.2014
Сообщений: 61
30.03.2014, 14:25     Необходимо к текущему времени прибавить n часов и m минут #4
Цитата Сообщение от zss Посмотреть сообщение
а это операция присвоения,
а не проверки на равенство.
Спасибо. Исправил =) А time я беру из функции получения теперешнего времени.
Цитата Сообщение от YDS Посмотреть сообщение
clock_t time = clock();
zss
Модератор
Эксперт С++
 Аватар для zss
5950 / 5555 / 1786
Регистрация: 18.12.2011
Сообщений: 14,196
Завершенные тесты: 1
30.03.2014, 14:37     Необходимо к текущему времени прибавить n часов и m минут #5
Цитата Сообщение от YDS Посмотреть сообщение
time я беру из функции получения теперешнего времени
так сразу и пишите clock() вместо time
YDS
11 / 11 / 5
Регистрация: 29.03.2014
Сообщений: 61
30.03.2014, 14:43     Необходимо к текущему времени прибавить n часов и m минут #6
Цитата Сообщение от zss Посмотреть сообщение
так сразу и пишите clock() вместо time
Можно. Но как знаете каждый по своему. Я к примеру просто привык присваивать время переменной. А потом уже работать с ней.
zss
Модератор
Эксперт С++
 Аватар для zss
5950 / 5555 / 1786
Регистрация: 18.12.2011
Сообщений: 14,196
Завершенные тесты: 1
30.03.2014, 14:50     Необходимо к текущему времени прибавить n часов и m минут #7
Но в приведенном коде в 12 строке Вы переменную time не объявили и не присвоили ей значения.
YDS
11 / 11 / 5
Регистрация: 29.03.2014
Сообщений: 61
30.03.2014, 14:57     Необходимо к текущему времени прибавить n часов и m минут #8
Цитата Сообщение от zss Посмотреть сообщение
Но в приведенном коде в 12 строке Вы переменную time не объявили и не присвоили ей значения.
Согласен, моя ошибка. Между 9 и 10 строками нужно было написать. clock_t time = clock().
Как видите сложно писать сразу код, не вводя его сначала в с++.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2014, 16:40     Необходимо к текущему времени прибавить n часов и m минут
Еще ссылки по теме:

C++ Программа, которая выдает запрос на ввод значений часов и минут
Программа должна писать сколько лет, месяцев, дней, часов, минут, секунд прожил человек C++
C++ Создайте класс time, содержащий три поля, предназначенные для хранения часов, минут и секунд

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

Или воспользуйтесь поиском по форуму:
4ever_antares
0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 2
31.03.2014, 16:40  [ТС]     Необходимо к текущему времени прибавить n часов и m минут #9
почему-то в данном коде нет задержки на пару минут, только если на час или более

Добавлено через 7 минут
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
#include <ctime>
#include <conio.h>
#include <iostream>
#include <Windows.h>
 
void main()
{
 
int n, ntos;
int m, mtos;
int budilnik;
clock_t time = clock();
n = 0;
m = 10;
ntos = n*3600; // здесь мы часы переводим в секунды
mtos = m*60; // здесь мы минуты переводим в секунды
budilnik = clock() + ntos + mtos;
bool okay = true;
while(okay)
{
clock_t time = clock(); // здесь мы берем теперешнее время в секундах
if(budilnik == clock()) // проверяем пришло ли время будильника
{
 
Beep(196,200);
    Beep(174.6,200);
    Sleep(30);
    Beep(174.6,400);
        Sleep(350);
    Beep(220,200);
    Beep(246.9,200);
    Beep(277.2,200);
    Beep(293.7,200);
    Beep(329.6,200);
    Beep(349.2,200);
    Beep(329.6,300);
    Sleep(150);
    Beep(293.7,200);
    Beep(293.7,400); // функцию АЛАРМ напишите сами смотря как Вам нужно показывать работу будильника
  okay = false;
}
}
}
сразу играет при такой кодировке
Yandex
Объявления
31.03.2014, 16:40     Необходимо к текущему времени прибавить n часов и m минут
Ответ Создать тему
Опции темы

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