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

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

Войти
Регистрация
Восстановить пароль
 
Ксения Стэп
1 / 1 / 0
Регистрация: 11.12.2010
Сообщений: 24
#1

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

11.12.2010, 12:24. Просмотров 987. Ответов 5
Метки нет (Все метки)

ПОМОООГИТЕ ПЛИИЗ,ПОНЯТИЕ НЕ ИМЕЮ КАК ЭТО ДЕЛАТЬ. ЗАДАЧА- Согласно варианту задания написать программу на языке С++.

Класс - Время
Члены класса - Часы, минуты,секунды
Методы -Конструктор, метод вывода времени и составляющей суток (до 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++):

Разработать класс Man (человек) и производный класс Student (студент). Описать атрибуты. - C++
Разработать класс Man (человек) и производный класс Student (студент). Описать атрибуты.

Разработать класс Tableware (посуда) и производный класс Dish (тарелка). Описать атрибуты - C++
Разработать класс Tableware (посуда) и производный класс Dish (тарелка). Описать атрибуты.

Разработать класс и производный класс - C++
Разработать класс Tableware (посуда) и производный класс Dish (тарелка). Описать атрибуты.

Разработать производный от абстрактного класса Figure класс и класс, производный от производного - C++
Разработать базовый абстрактный класс Figure с пустым виртуальным методом print для вывода в дальнейшем полной информации об объекте: ...

Создать абстрактный базовый класс Тройка чисел с виртуальными методами увеличения на 1. Создать производный класс Время со своими функциями - C++
Здравствуйте, пожалуйста помогите написать код к данной задаче, с таким условием: Создать абстрактный базовый класс Тройка чисел с...

Разработать класс - C++
Нужно создать класс Number, далее создать одномерный массив из 10-ти элементов типа Number. Если можно, код программы с пояснением....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
lemegeton
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
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
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
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
все раьотает,систем пауз добавила и все окей!!!!!!!!!!!!!!!ОГРОМНОЕ СПАСИБО!!!!!!!!!!!!!!!!!!!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2010, 15:25
Привет! Вот еще темы с ответами:

Разработать класс - C++
Разработать класс, набор методов (конструктор, деструктор и указаны методы) для программной модели заданного объекта. Описание объекта и...

Разработать класс - C++
Помогите написать программу, вот задание: Разработать класс, набор методов (конструктор и минимум два метода) для программной модели...

Разработать класс - C++
Помогите решить задачи: Разработать класс Number. Класс должен быть прозрачен с позиции любого числового типа языка С. Таким образом...

Разработать класс - C++
Помогите пожалуйста. Необходимо построить окружность, вписанную в равносторонний треугольник, если известно, что некоторые две его вершины...


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

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

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