Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Adskii
0 / 0 / 0
Регистрация: 22.10.2014
Сообщений: 10
#1

Заданы две строки, содержащие время в определенном формате. Определить разницу между этими временами - C (СИ)

22.10.2014, 17:40. Просмотров 383. Ответов 3
Метки нет (Все метки)

Заданы две строки, содержащие время в формате: HH:MM:SS. Определить разницу между этими временами. При вводе проверять корректность времени. Пример: 23:30:00 и 5:45:00 → 6:15:00.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2014, 17:40
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Заданы две строки, содержащие время в определенном формате. Определить разницу между этими временами (C (СИ)):

Ввести две строки, содержащие время в формате HH:MM:SS, и найти разность во времени
Задача. Требуется ввести 2 строки, используя функции gets и puts, содержащие...

Из строки, содержащей две запятые, выделить подстроку, раположенную между этими запятыми
Помогите написать код. Задача такая, требуется написать текст в котором будут 2...

Определить разницу между двумя временными точками
Разработать программу согласно варианту задания. Максимальная длина строк не...

Строка: Вывести все слова строки, содержащие ровно две буквы d.
(язык программирования Си) ....................................................

Найти минимальную разницу между этими элементами, если их разделить на 2 группы
Всем привет! Нужна программа, которая будет выполнять следующее условие: На...

Вывести текущую дату и время в определенном формате
Добрый день! Подскажите как вывести отдельным стрингом время в формате "15:02"...

3
kiff20072008
57 / 57 / 23
Регистрация: 28.09.2012
Сообщений: 358
22.10.2014, 20:36 #2
Лучший ответ Сообщение было отмечено Adskii как решение

Решение

Adskii,
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
#include <stdio.h>
 
struct List
{
    int hours, minutes, seconds;
};
 
 
 
int main()
{
    List a, b,result;
    scanf("%i:%i:%i", &a.hours,&a.minutes,&a.seconds);
    if (a.hours > 23 || a.minutes > 59 || a.seconds > 59)
    {
        printf("error");
        return 1;
    }
    scanf("%i:%i:%i", &b.hours, &b.minutes, &b.seconds);
    if (b.hours > 23 || b.minutes > 59 || b.seconds > 59)
    {
        printf("error");
        return 1;
    }
    if (b.seconds < a.seconds)
    {
        b.seconds += 60;
        b.minutes--;
        if (b.minutes == -1)
        {
            b.hours--;
            b.minutes += 60;
            if (b.hours == -1)
            {
                printf("error");
                return 1;
            }
        }
    }
    result.seconds = b.seconds - a.seconds;
    if (b.minutes<a.minutes)
    {
        b.hours--;
        b.minutes += 60;
        if (b.hours == -1)
        {
            printf("error");
            return 1;
        }
    }
    result.minutes = b.minutes - a.minutes;
 
    if (b.hours<a.hours)
    {
        printf("error");
        return 1;
    }
    result.hours = b.hours - a.hours;
    printf("%i:%i:%i\n", result.hours, result.minutes, result.seconds);
    return 0;
}
1
Andrej
И целого heap'а мало
94 / 55 / 17
Регистрация: 31.07.2014
Сообщений: 291
22.10.2014, 23:48 #3
Цитата Сообщение от kiff20072008 Посмотреть сообщение
if (a.hours > 23 || a.minutes > 59 || a.seconds > 59)
а если меньше нуля?
1
kiff20072008
57 / 57 / 23
Регистрация: 28.09.2012
Сообщений: 358
22.10.2014, 23:49 #4
Andrej, ну я надеюсь что ТС сможет добавить сию сложнейшую проверку
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.10.2014, 23:49
Привет! Вот еще темы с решениями:

Отнять время от времени. Получить разницу в формате 00:00:00
есть date('H:i:s', $TIME) и date('H:i:s', $TIME2) у них разное время как узнать...

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

Заданы две строки. Определить, есть или нет в них общие слова
Заданы две строки. Определить, есть или нет в них общие слова. Решите...

Ввести с клавиатуры дату своего рождения и текущую дату. Необходимо вычислить разницу в днях между этими датам
Ввести с клавиатуры дату своего рождения и текущую дату. Необходимо вычислить...


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

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

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