Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
26 / 1 / 1
Регистрация: 18.03.2018
Сообщений: 278

Класс «Время», вычислить разницу в секундах между двумя объектами типа «Время»

01.12.2018, 16:52. Показов 996. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Нужно написать задачку на C++ в приложении с оконным интерфейсом.

Класс «Время» имеет три поля – часы, минуты, секунды. Создать два конструктора класса, один из которых будет конструктором по умолчанию и инициализировать поля нулевыми значениями. Создайте метод класса, который будет выводить значения полей на экран в произвольном формате. Создайте метод класса, который будет вычислять разницу в секундах между двумя объектами типа «Время», которые будут передаваться ему в виде аргументов. Разработать программу, демонстрирующую работу с объектами этого класса.

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

Вот код для консоли (Заголовок):

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
#ifndef DATA_H
#define DATA_H
#include<cmath>
#include<iostream>
using std::cout;
using std::endl;
class Data
{
public:
    Data() :hours(0), mins(0), second(0) {}
    Data(int h, int m, int s) :hours(h), mins(m), second(s) 
    {
        check();
    }
    friend int difference(const Data& dt, const Data& dt2)
    {
        int sec =  (dt.hours * 3600 + dt.mins * 60) + dt.second;
        int sec2 = (dt2.hours * 3600 + dt2.mins * 60) + dt2.second;
        return abs(sec - sec2);
    }
    void show() const;
private:
    int hours;
    int mins;
    int second;
    void check()
    {
        
            while (hours > 24 || hours < 0)
            {
                cout << "Неверный ввод времени(часы) введите еще раз: ";
                    std::cin >> hours;
            }
            while (mins > 60 || mins < 0)
            {
                cout << "Неверный ввод времени(минуты) введите еще раз: ";
                std::cin >> mins;
            }
            while (second > 60 || second < 0)
            {
                cout << "Неверный ввод времени(секунды) введите еще раз: ";
                std::cin >> second;
            }
 
    }
};
#endif // DATA_H
main файл:

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
#include"Header.h"
#include<iostream>
 
using std::cout;
using std::cin;
 
 
void Data::show() const
{
    cout << "Нынешнее время:" << ((hours < 10) ? "0" : "") << hours << ":" << ((mins < 10) ? "0" : "") << mins << ":" << ((second < 10) ? "0" : "") << second<<'\n';
}
 
 
int main()
{
    setlocale(LC_ALL, "Rus");
    Data time1(10, 12, 40);
    time1.show();
    cout << std::endl;
    Data time2(12, 12, 90);
    time2.show();
    cout <<"Различие в секундах составляет "<<difference(time1,time2);
    return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.12.2018, 16:52
Ответы с готовыми решениями:

Класс «Время», вычислить разницу в секундах между двумя объектами типа «Время»
Здравствуйте. Нужно написать задачку на C++ в приложении с оконным интерфейсом. Класс «Время» имеет три поля – часы, минуты, секунды....

Класс «Время», вычислить разницу в секундах между двумя объектами типа «Время»
Здравствуйте. Нужно написать задачку на C++ в приложении с оконным интерфейсом. Класс «Время» имеет три поля – часы, минуты, секунды....

Дано время N в секундах. Выразить это время в сутках, часах, минутах и секундах.
Дано время N в секундах. Выразить это время в сутках, часах, минутах и секундах. Можете помочь написать программу!? p.s. Буду...

1
26 / 1 / 1
Регистрация: 18.03.2018
Сообщений: 278
01.12.2018, 18:11  [ТС]
Создал интерфейс:
Вложения
Тип файла: rar Class Time.rar (1.19 Мб, 1 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.12.2018, 18:11
Помогаю со студенческими работами здесь

Как измерить разницу в секундах между двумя значениями времени?
привет. Мне нужно замерить время работы программы, используются объекты класса std::chrono::time_point&lt;std::chrono::system_clock&gt; ...

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

Вычислить время выполнения между двумя точками программы
Перепробовал все что логически можно с библиотекой time: 1) в этом случае t получается 0, фз почему, причем конвертация и фиксированный...

Как проще всего вычислить разницу между TDateTime (в секундах)?
Господа, гении программирования! Как проще всего вычислить разницу между T1 и T2 : TDateTime (в секундах) ? Конечно, при условии,...

Функция, возвращающая время в часах и минутах на основе параметра - время в секундах
Создайте функцию, которая возвращает время в часах и минутах на основе параметра - время в секундах.


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru