С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Kivinet
0 / 0 / 0
Регистрация: 24.04.2011
Сообщений: 4
#1

Класс "Время" - C++

24.04.2011, 17:21. Просмотров 1596. Ответов 6
Метки нет (Все метки)

Учусь на экономическом факультете и тут ни стого - ни сиго нам ввели курс программирования на С++. Все в шоке, знакомые посоветовали ваш сайт, помогите пожалуйста.
Задание звучит так:
Создать класс "время" с компонентными данными: число, месяц, год. Определить компонентные функции:
получить каждый элемент класса по отдельности, вывести значение на экран, добавить к данному времени n часов, добавить n минут, добавит n секунд. Описать дружественную функцию "переход на летнее время".
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2011, 17:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Класс "Время" (C++):

Из класса "Дата" с полями день, месяц, год создать класс "Время" с дополнительными полями час, минута, секунда - C++
в общем .надо класс дата полями день, месяц год.теперь мне надо создать класс "Время" з дополнительными полями часов,минут,секунд и...

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс" - C++
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран информацию об издании, а также определить является ли данное...

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания" - C++
Создать класс Книга поля: название книги,количество страниц,год издания методы: вычислить сколько лет книге и количество дней прошедших...

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

Реализовать класс родительский класс "Пара чисел" и класс-наследник "Комплексное число" - C++
Ткма работы создать класс pair (пара чисел); определить метод перемножения полей и операцию сложения пар (a,b)+(c,d) =(a+b,c+d)...

Создать класс комплексных чисел и ввести операции: "+", "-", "*", "/". - C++
пожалуйста-помогите написатьпрограмму!!! сижу на экзамене!!! вот само задание: создать класс комплексных чисел и ввести операции: "+",...

6
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
24.04.2011, 17:33 #2
Цитата Сообщение от 'Kivinet' Посмотреть сообщение
число, месяц, год
Цитата Сообщение от 'Kivinet' Посмотреть сообщение
добавить к данному времени n часов, добавить n минут, добавит n секунд
Что? о_О
0
Kivinet
0 / 0 / 0
Регистрация: 24.04.2011
Сообщений: 4
24.04.2011, 17:43  [ТС] #3
Цитата Сообщение от silent_1991 Посмотреть сообщение
Что? о_О
Так и написано вот скрин 26 вариант:
[cut]
0
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
24.04.2011, 17:45 #4
На скрине, конечно, всё шшшикарно читается, но мне как-то... Скоро выложу код, с учётом того, что буду минуты всё же к минутам прибавлять, а не к дням (заменю "день, месяц год" на "часы, минуты, секунды").
0
Kivinet
0 / 0 / 0
Регистрация: 24.04.2011
Сообщений: 4
24.04.2011, 17:47  [ТС] #5
Извините, уже исправила)))

Вот:
[cut]
0
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
24.04.2011, 17:59 #6
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
#include <iostream>
#include <iomanip>
 
class Time
{
    void normalize_time()
    {
        if (m_seconds > 59)
        {
            m_minutes += m_seconds / 60;
            m_seconds = m_seconds % 60;
        }
 
        if (m_minutes > 59)
        {
            m_hours += m_minutes / 60;
            m_minutes = m_minutes % 60;
        }
 
        m_hours %= 24;
    }
 
public:
    Time(unsigned hours, unsigned minutes, unsigned seconds):
    m_hours(hours),
    m_minutes(minutes),
    m_seconds(seconds)
    {
        normalize_time();
    }
 
    unsigned get_hours() const
    {
        return m_hours;
    }
 
    unsigned get_minutes() const
    {
        return m_minutes;
    }
 
    unsigned get_seconds() const
    {
        return m_seconds;
    }
 
    void print_time() const
    {
        std::cout << std::setw(2) << std::setfill('0') << m_hours << ":";
        std::cout << std::setw(2) << std::setfill('0') << m_minutes << ":";
        std::cout << std::setw(2) << std::setfill('0') << m_seconds << std::endl;
    }
 
    void inc_hours(unsigned hours)
    {
        m_hours += hours;
 
        normalize_time();
    }
 
    void inc_minutes(unsigned minutes)
    {
        m_minutes += minutes;
 
        normalize_time();
    }
 
    void inc_seconds(unsigned seconds)
    {
        m_seconds += seconds;
 
        normalize_time();
    }
 
    friend void to_summertime(Time &);
 
private:
    unsigned m_hours;
    unsigned m_minutes;
    unsigned m_seconds;
};
 
void to_summertime(Time &time)
{
    time.m_hours += 1;
 
    time.normalize_time();
}
 
int main()
{
    Time t(120, 480, 330);
 
    std::cout << t.get_hours() << std::endl;
    std::cout << t.get_minutes() << std::endl;
    std::cout << t.get_seconds() << std::endl;
    
    t.inc_hours(4);
    t.inc_minutes(8);
    t.inc_seconds(220);
 
    t.print_time();
 
    to_summertime(t);
 
    t.print_time();
 
    return 0;
}
1
Kivinet
0 / 0 / 0
Регистрация: 24.04.2011
Сообщений: 4
24.04.2011, 18:04  [ТС] #7
Огромное вам человеческое спасибо!))))
А то обратилась к знакомым мальчикам программистам, а они только руками развели, мол самим бы кто написал.)))
Спасибо ещё раз)
0
24.04.2011, 18:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2011, 18:04
Привет! Вот еще темы с ответами:

Наследуемым классом для комплексного числа объявить класс "радиус-вектор", имеющий данные "длина" и "угол" - C++
кто то напишите пожалуйста, вот программа: наследуемым классом для комплексного числа объявить класс &quot;радиус-вектор&quot;, имеющий данные...

Класс "Графический объект", от которого будут наследоваться классы "круг" и "квадрат" - C++
Реализовать класс Графический объект от которого будут наследоваться классы &quot;круг&quot; и &quot;квадрат&quot;. Собственно, сам код, который был написан...

Создать иерархию классов: родительский класс "Транспорт", класс-потомок "Техосмотр транспорта" - C++
Помогите пожалуйста написать программу Родительский класс &quot;Транспорт&quot;. Поля класса: тип транспорта, гос.номер, марка, Ф.И.О владельца,...

Базовый класс "Источник напряжения", производные классы "Цепь" и "Аккумулятор" - C++
Дали задачу по программированию: составить класс &quot;Источник напряжения&quot;, для которого нужно реализовать два производных класса: &quot;Цепь&quot; и...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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