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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 31, средняя оценка - 4.61
APTEC
0 / 0 / 0
Регистрация: 22.10.2011
Сообщений: 3
#1

Создать класс Time для работы со временем - C++

22.10.2011, 15:09. Просмотров 4369. Ответов 7
Метки нет (Все метки)

Создать класс Time для работы со временем в формате "час. минута.секунда" . Класс должен включать в себя не менее четырёх функций инициализации числами, строкой (например 23:59:59), секундами и временем. Обязательными операциями являются вычисление разницы между двумя моментами времени в секундах, сложение времени из заданного количества секунд, вычитание времени из заданного количества секунд, сравнение моментов времени, перевод в секунды, перевод в минуты( с округлением до целой минуты).

буду благодарен.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2011, 15:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать класс Time для работы со временем (C++):

Создать класс time для работы со временем - C++
на языке C++ создать класс ВРЕМЯ,разработав следующие элементы класса: •Поля с;(временной интервал,заданный в секундах) ...

Класс Time для работы с временем в формате «час:минута:секунда» - C++
Всем доброго времени суток! Есть вопрос: Создать класс Time для работы со временем в формате «час:минута:секунда». Класс должен...

Создать класс для работы со временем в пределах суток - C++
Создать класс для работы со временем в пределах суток. Членами класса являются часы, минуты и секунды. Методами класса являются: ввод...

Класс для работы со временем - C++
мне надо было найти день недели, в гугле поиском нашел вот это все работает ! только не понял как... много действий и все равно я не...

Класс для работы со временем - C++
Здраствуйте=) не поможите ли вы написать класс на время. class Time{ private: int hours; int minutes; int...

Написать класс для работы со временем - C++
В общем, нужно написать класс время, создать перегрузки и так далее. А также сделать "красивый вывод" в поток, типа чч.мм:сс. Так вот,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Gepar
1177 / 533 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
22.10.2011, 16:29 #2
Вообще задание совсем не сложное и если хотите хотя бы чего-то узнать по с++ то Вам нужно решать это задание самому (спрашивая в теме если чего-то не получается). Ваше задание подразумевает создание класса/структуры с тремя полями
C++
1
2
3
4
5
6
7
8
struct TIME
{
private:
int h; //час
int m;//минута
int s;//секунда
...
}
наличия set/get методов, конструктора и указанных в задании функций. Сложностей никаких в задании нет и всё идёт элементарно на проверку на допустимость и последующую установку значений да возврат в случае get функций.

Добавлено через 5 минут
Вообще задание совсем не сложное и если хотите хотя бы чего-то узнать по с++ то Вам нужно решать это задание самому (спрашивая в теме если чего-то не получается). Ваше задание подразумевает создание класса/структуры с тремя полями
C++
1
2
3
4
5
6
7
8
struct TIME
{
private:
int h; //час
int m;//минута
int s;//секунда
...
}
наличия set/get методов, конструктора и указанных в задании функций. Сложностей никаких в задании нет и всё идёт элементарно на проверку на допустимость и последующую установку значений да возврат в случае get функций.
0
amor1k
Студент
147 / 147 / 24
Регистрация: 18.01.2011
Сообщений: 469
22.10.2011, 18:29 #3
А можно ли задать переменной h текущий "час" по времени, и переменной m текущую минуту?
0
APTEC
0 / 0 / 0
Регистрация: 22.10.2011
Сообщений: 3
22.10.2011, 22:48  [ТС] #4
да,конечно можно.
0
amor1k
Студент
147 / 147 / 24
Регистрация: 18.01.2011
Сообщений: 469
22.10.2011, 23:25 #5
а можете сказать, а лучше показать.
0
e46
1 / 1 / 0
Регистрация: 22.02.2013
Сообщений: 39
18.06.2013, 16:00 #6
а можно весь код прогрыммы?
0
igorrr37
1647 / 1275 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
18.06.2013, 19:41 #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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include <iostream>
#include <stdexcept>
#include <locale>
#include <cstdlib>
#include <string>
#include <sstream>
 
class Time
{
public:
    typedef unsigned short ushort;
    Time(ushort hs, ushort ms, ushort ss)
    {
        set_time(hs, ms, ss);
    }
 
    explicit Time(size_t ss = 0)
    {
        set_time(ss);
    }
 
    explicit Time(std::string const& stime)
    {
        set_time(stime);
    }
 
    void set_time(ushort hs, ushort ms, ushort ss)
    {
        _hs = hs;
        _ms = ms;
        _ss = ss;
        check();
    }
 
    void set_time(size_t ss)
    {
        _hs = ss / 3600;
        _ms = (ss % 3600) / 60;
        _ss = (ss % 3600) % 60;
        check();
    }
 
    void set_time(std::string const& stime) // "23:59:59"
    {
        std::stringstream sstr;
        for(auto const& val : stime)
            sstr << (val == ':' ? ' ' : val);
        sstr >> _hs >> _ms >> _ss;
        if(!sstr || !sstr.eof())
            throw std::runtime_error("Time::set_time: !sstr || !sstr.eof()");
        check();
    }
 
    friend std::ostream& operator<<(std::ostream& ost, Time const& rhs)
    {
        return ost << rhs._hs << ':' << rhs._ms << ':' << rhs._ss;
    }
 
    operator std::string() const
    {
        std::stringstream sstr;
        sstr << _hs << ':' << _ms << ':' << _ss;
        return sstr.str();
    }
 
private:
    ushort _hs, _ms, _ss;
    void check() const
    {
        if(_hs >= 24  || _ms >= 60 || _ss >= 60)
            throw std::runtime_error("Time::check: _hs >= 24  || _ms >= 60 || _ss >= 60");
    }
};
 
int main()
{
    setlocale(LC_ALL, "rus");
    Time hms1("23:45:40"), hms2(23 * 3600 + 45 * 60 + 41), hms3(23, 45, 42);
    std::string shms3 = hms3;
    std::cout << hms1 << '\n' << hms2 << '\n' << shms3 << "\n\n";
    system("pause");
    return 0;
}
2
e46
1 / 1 / 0
Регистрация: 22.02.2013
Сообщений: 39
18.06.2013, 21:33 #8
Цитата Сообщение от igorrr37 Посмотреть сообщение
for(auto const& val : stime)
говорит что здесь ошибка(
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2013, 21:33
Привет! Вот еще темы с ответами:

Разработать класс DateTime для работы с датой/временем - C++
В качестве основы взять функции и структуры для работы с временем из стандартной библиотеки (struct tm, time, localtime, mktime) ...

Класс: создать класс Fraction для работы с дробными числами - C++
Необходимо создать класс Fraction для работы с дробными числами. Число должно быть представлено двумя полями: целая часть – длинное целое...

Создать базовый класс - Array и производный класс - Money для работы денежной суммы - C++
ПОМОГИТЕ, ПОЖАЛУЙСТА, С ЗАДАЧЕЙ Создать базовый класс - Array и производный класс - Money для работы денежной суммы

Создать базовый класс Тройка_чисел (Triad) и производный класс Time с полями часы, минуты и секунды - C++
Наследование. Виртуальныефункции.Полиморфизм. 1. Цельзадания: 1) Создание консольного приложения, состоящего и - Базовый класс:...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
18.06.2013, 21:33
Ответ Создать тему
Опции темы

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