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

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

Войти
Регистрация
Восстановить пароль
 
fs444
6 / 10 / 0
Регистрация: 18.08.2009
Сообщений: 480
#1

Интервал между моментами 12-часового цикла - C++

30.03.2010, 16:25. Просмотров 801. Ответов 10
Метки нет (Все метки)

3.26. Напишите функцию, которая воспринимает время как три целых аргумента (часы, ми-
нуты и секунды) и возвращает количество секунд, прошедших со времени, когда часы
в последний раз показали «12». Используйте эту функцию для вычисления интервала
времени в секундах между двумя моментами, находящимися внутри двенадцатичасо-
вого цикла.
Поясните пожалуйста, интервал между моментами 12-часового цикла - это между 12:00 и текущим моментом?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2010, 16:25     Интервал между моментами 12-часового цикла
Посмотрите здесь:

Определить сколько секунд прошло между двумя моментами времени - C++
Даны значения двух моментов времени, принадлежащих одним и тем же суткам: часы, потом минуты и секунды для каждого из моментов времени....

Код для подсчета количества секунд между двумя моментами времени - C++
Дано время1,записанное в виде ЧЧ:ММ:СС , определить сколько секунд осталось до времени2,записанного в виде ЧЧ:ММ:СС.Если не сложно поясните...

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

Интервал между нотами. - C++
Составить программу которая бы реализовала следующий алгоритм: по введённым названиям двух нот (до ре ми фа соль ля си) определить...

Интервал между нажатием клавиш - C++
Здравствуйте. Есть какой-то исходный текст, который видит пользователь, ему нужно написать этот текст ещё раз. Мне просчитать и...

Интервал между датами в структуре! - C++
#include<iostream.h> #include<math.h> #include<conio.h> struct time { int day; int month; int year; }; const int...

Как вычислить интервал между двумя датами в структуре? - C++
Borland C++ Вот задание: дана структура с полями число, месяц и год! Нужно составить и протестировать функцию которая вычисляет...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Voron8
13 / 13 / 1
Регистрация: 28.04.2009
Сообщений: 62
30.03.2010, 17:22     Интервал между моментами 12-часового цикла #2
Похоже, что да. Между 00:00:00 и сейчас.
fs444
6 / 10 / 0
Регистрация: 18.08.2009
Сообщений: 480
31.03.2010, 19:57  [ТС]     Интервал между моментами 12-часового цикла #3
Понятно. А как вытащить из time() часы, минуты и секунды?
Voron8
13 / 13 / 1
Регистрация: 28.04.2009
Сообщений: 62
31.03.2010, 21:27     Интервал между моментами 12-часового цикла #4
C++
1
2
long t=time(NULL);
t%=43200;
12 часов=12*60*60=43200 секунд
соответственно оставшееся и есть интересующее нас значение

Добавлено через 6 минут
Время по Гринвичу. Москва +4 часа
neske
1474 / 841 / 74
Регистрация: 26.03.2010
Сообщений: 2,889
31.03.2010, 21:37     Интервал между моментами 12-часового цикла #5
я думаю fs444 имел в виду, как из вводимых данных, к примеру - "17.30.45" , 17 закинуть в hour, 30 в minute, 45 в second.
Кстати я тоже не знаю
Voron8
13 / 13 / 1
Регистрация: 28.04.2009
Сообщений: 62
31.03.2010, 22:09     Интервал между моментами 12-часового цикла #6
Цитата Сообщение от fs444 Посмотреть сообщение
Напишите функцию, которая воспринимает время как три целых аргумента (часы, ми-
нуты и секунды)
C++
1
2
3
int time(int hour, int minute, int second){
return hour*3600+minute*60+second;
}

Цитата Сообщение от neske Посмотреть сообщение
я думаю fs444 имел в виду, как из вводимых данных, к примеру - "17.30.45" , 17 закинуть в hour, 30 в minute, 45 в second.
Кстати я тоже не знаю
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int hour=0, minute=0, second=0;
char a[]="17.30.45",buf[5];
 
for(int i=0,j=0,m=0;i<=strlen(a);i++){
  if(a[i]=='.'||a[i]==':'||!a[i]){
    switch (j){
     case 0:
        hour=atoi(buf);j++;m=0;
        break;
        case 1:
        minute=atoi(buf);j++;m=0;
        break;
    case 2:
            second=atoi(buf);j++;m=0;
            break;
    }
  }else{
     buf[m]=a[i];m++;buf[m]='\0';
  }
}
 
cout<<hour<<":"<<minute<<":"<<second;
это несколько общий вариант...
neske
1474 / 841 / 74
Регистрация: 26.03.2010
Сообщений: 2,889
31.03.2010, 22:36     Интервал между моментами 12-часового цикла #7
Но пока "общий вариант" не доработан.. т.к. выдает не то что нужно.
Щас пытаюсь изменить
Voron8
13 / 13 / 1
Регистрация: 28.04.2009
Сообщений: 62
01.04.2010, 05:52     Интервал между моментами 12-часового цикла #8
в смысле не то что нужно, у меня все работает
Поясни пожалуйста.
neske
1474 / 841 / 74
Регистрация: 26.03.2010
Сообщений: 2,889
01.04.2010, 07:18     Интервал между моментами 12-часового цикла #9
Ну что же, можешь код полностью выложить?
Разумеется не для всей задачи, а только для ввода
Voron8
13 / 13 / 1
Регистрация: 28.04.2009
Сообщений: 62
01.04.2010, 14:55     Интервал между моментами 12-часового цикла #10
C++
1
2
3
4
5
6
cout<<"введите время(0.00.00):";
char a[100]={'\0'},buf[5];
cin.getline(a,100);
    int hour=0, minute=0, second=0;
 
read(a,hour,minute,second);
Вся задача
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
#include <iostream>
using namespace std;
 
void read(char* a,int& hour,int& minute,int& second){
    char buf[5];
 
    for(int i=0,j=0,m=0;i<=strlen(a);i++){
        if(a[i]=='.'||a[i]==':'||!a[i]){
            switch (j){
                case 0:
                    hour=atoi(buf);j++;m=0;
                    break;
                case 1:
                    minute=atoi(buf);j++;m=0;
                    break;
                case 2:
                    second=atoi(buf);j++;m=0;
                    break;
            }
        }else{
            buf[m]=a[i];m++;buf[m]='\0';
        }
    }
return ;}
 
int time(int hour, int minute, int second){
    return hour*3600+minute*60+second;
}
 
int main() {
    
cout<<"введите время(0.00.00):";
char a[100]={'\0'},buf[5];
cin.getline(a,100);
    int hour=0, minute=0, second=0;
 
read(a,hour,minute,second);
int t=time(hour,minute,second);
 
 
cout<<hour<<":"<<minute<<":"<<second<<"="<<t<<endl;;
    cin.get();
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.04.2010, 18:36     Интервал между моментами 12-часового цикла
Еще ссылки по теме:

Подсчет дней между датами, преждевременный выход из цикла - C++
Здравствуйте! Делаю программу на С++ для подсчета дней между двумя датами, цикл завершается после первой итерации, условие выхода из цикла...

Разница между префиксной и постфиксной формой записи счетчика цикла - C++
Здравствуйте! Когда оформлял циклы всегда использовал такую запись: for(int i=0; i&lt;10; i++) , которая означает что цикл...

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

Преобразование часового пояса - C++
Помогите с решением задания хотя бы немножко вход : Время в Киеве часовой пояс результат : Время в определенном...

Как получить время по Гринвичу, а не своего часового пояса? - C++
Задаю время примерно так: time_t seconds = 100000;//количество секунд с 1970г char buffer; struct tm timeinfo; ...


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

Или воспользуйтесь поиском по форуму:
fs444
6 / 10 / 0
Регистрация: 18.08.2009
Сообщений: 480
05.04.2010, 18:36  [ТС]     Интервал между моментами 12-часового цикла #11
Спасибо. Буду делать.
Yandex
Объявления
05.04.2010, 18:36     Интервал между моментами 12-часового цикла
Ответ Создать тему
Опции темы

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