Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2018, 22:42   #1
Dantee31
Новичок
Джуниор
 
Регистрация: 13.11.2018
Сообщений: 1
По умолчанию C++ оконное приложение. Класс «Время» имеет три поля – часы, минуты, секунды.

Здравствуйте, необходимо реализовать следующее задание в среде microsoft visual c оконным интерфейсом:

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

У меня уже есть эта же программа, для консольного приложения. Никогда не работал с оконными. Помогите, пожалуйста, адаптировать.

Код:
#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 файл:

Код:
#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;
}
Буду очень благодарен за помощь
Dantee31 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
c++ оконный интерфейс. Класс «Время» имеет три поля – часы, минуты, секунды Dantee31 Фриланс 3 29.11.2018 13:17
Создать класс Time для работы со временем в формате "часы:минуты:секунды". Помогите найти ошибку Coshehka Общие вопросы C/C++ 4 20.01.2017 17:14
Перегрузки. Дан класс время. Поля -часы,минуты,секунды. fr0st1k123 C# (си шарп) 1 05.12.2016 14:40
Показать время в числовом формате: часы, минуты и секунды через ЗАПЯТЫЕ BadBorz Microsoft Office Excel 14 04.04.2014 20:08
Конвертация времени ms в время минуты,секунды,часы. Человек_Борща Общие вопросы Delphi 4 03.07.2011 12:56