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

Разработать класс Время - C++

Восстановить пароль Регистрация
 
Ксения Стэп
1 / 1 / 0
Регистрация: 11.12.2010
Сообщений: 24
11.12.2010, 12:24     Разработать класс Время #1
ПОМОООГИТЕ ПЛИИЗ,ПОНЯТИЕ НЕ ИМЕЮ КАК ЭТО ДЕЛАТЬ. ЗАДАЧА- Согласно варианту задания написать программу на языке С++.

Класс - Время
Члены класса - Часы, минуты,секунды
Методы -Конструктор, метод вывода времени и составляющей суток (до 6 –ночь, до 12 – утро, до 18 – день, до 24- вечер)
Операторы перегрузки- Сложение (+),вычитание (-), сравнение времени < и >
Исходные данные - t1, t2 ,t3, t4 -время
Результат - T1 = t1+ t3
T2 = t4 – t2
Сравнить Т1 и Т2
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2010, 12:24     Разработать класс Время
Посмотрите здесь:

Разработать класс C++
C++ Разработать класс
Разработать класс C++
Разработать класс C++
Разработать класс Man (человек) и производный класс Student (студент). Описать атрибуты. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
11.12.2010, 14:21     Разработать класс Время #2
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#include <iostream>
#include <string>
 
using namespace std;
 
class Time
{
private:
        int _hour, _minute, _second;
public:
        Time() : _hour(0), _minute(0), _second(0) {}
        Time(int h, int m, int s) : _hour(h), _minute(m), _second(s) { optimize(); }
        void optimize()
        {
                _minute += _second / 60;
                _second  = _second % 60;
                _minute += ((_second<0)?-1:0);
                _second += ((_second<0)?60:0);
                _hour   += _minute / 60;
                _minute  = _minute % 60;
                _hour   += ((_minute<0)?-1:0);
                _minute += ((_minute<0)?60:0);
        }
        int hour() const { return _hour; }
        int minute() const { return _minute; }
        int second() const { return _second; }
        string tod()
        {
                if ((_hour % 24) < 6)
                        return "night";
                else
                if ((_hour % 24) < 12)
                        return "morning";
                else
                if ((_hour % 24) < 18)
                        return "day";
                else
                        return "evening";
        }
        friend ostream& operator<< (ostream& o, const Time& t)
        {
                o << ((t.minute()<10)?"0":"") << t.hour() << ":"
                  << ((t.minute()<10)?"0":"") << t.minute() << ":"
                  << ((t.second()<10)?"0":"") << t.second();
                return o;
        }
 
        Time(Time& other)
        {
                _hour = other._hour;
                _minute = other._minute;
                _second = other._second;
        }
 
        const Time operator+(const Time& other) const
        {
                Time result(other.hour()+_hour, other.minute()+_minute, other.second()+_second);
                return result;
        }
 
        const Time operator-(const Time& other) const
        {
                Time result(_hour - other.hour(), _minute - other.minute(), _second - other.second());
                return result;
        }
 
        const signed int compare(const Time& other) const
        {
                if (_hour<other.hour())
                        return -1;
                else
                if (_hour>other.hour())
                        return +1;
                else
                if (_minute<other.minute())
                        return -1;
                else
                if (_hour>other.hour())
                        return +1;
                else
                if (_second<other.second())
                        return -1;
                else
                if (_second>other.second())
                        return +1;
                return 0;
        }
 
        const bool operator<(const Time& other) const
        {
                return (compare(other) < 0);
        }
        const bool operator>(const Time& other) const
        {
                return (compare(other) > 0);
        }
 
        const bool operator==(const Time& other) const
        {
                return (compare(other) == 0);
        }
 
};
 
int main()
{
        Time a(2, 0, 0), b(0, 59, 59);
 
        cout << "(" << a << ")-(" << b << ")=(" << (a-b)  <<  ") " << endl
        << "(" << a << ")+(" << b << ")=(" << (a+b)  <<  ") " << endl
        << ((a > b)?"a more than b":"a no more than b") << ", " << endl
        << ((a < b)?"a less than b":"a no less than b") << "." << endl;
 
        return 0;
}
Ксения Стэп
1 / 1 / 0
Регистрация: 11.12.2010
Сообщений: 24
11.12.2010, 14:36  [ТС]     Разработать класс Время #3
ОГРОМНЕЙШЕЕ СПАСИБО!!!!!!!!!!!!!!

Добавлено через 6 минут
ЧТО ТО НЕ ТО В 109 СТРОКЕ,ПОСМОТРИТЕ ПЛИЗ))

Добавлено через 59 секунд
109 C:\Users\Ксения\Desktop\Безымянный3.cpp no matching function for call to `Time::Time(const Time)'

Добавлено через 32 секунды
110 C:\Users\Ксения\Desktop\Безымянный3.cpp no matching function for call to `Time::Time(const Time)'
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
11.12.2010, 14:50     Разработать класс Время #4
Попробуйте добавить такой конструктор:
C++
1
2
3
4
5
6
        Time(const Time& other)
        {
                _hour = other._hour;
                _minute = other._minute;
                _second = other._second;
        }
Что за компилятор?
Ксения Стэп
1 / 1 / 0
Регистрация: 11.12.2010
Сообщений: 24
11.12.2010, 15:04  [ТС]     Разработать класс Время #5
DEV-C++4.9.9.2

Добавлено через 12 минут
это вставила,теперь компилятор ошибок не выдает но и не выполняет саму задачу...
Ксения Стэп
1 / 1 / 0
Регистрация: 11.12.2010
Сообщений: 24
11.12.2010, 15:25  [ТС]     Разработать класс Время #6
все раьотает,систем пауз добавила и все окей!!!!!!!!!!!!!!!ОГРОМНОЕ СПАСИБО!!!!!!!!!!!!!!!!!!!
Yandex
Объявления
11.12.2010, 15:25     Разработать класс Время
Ответ Создать тему
Опции темы

Текущее время: 05:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru