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

Сложение, разность, сравнение времён - C++

Восстановить пароль Регистрация
 
MahovIV
5 / 6 / 1
Регистрация: 17.09.2013
Сообщений: 337
06.05.2014, 15:58     Сложение, разность, сравнение времён #1
Разработать класс для работы с данными типа время. Предусмотреть в нём все операции и методы, которые необходимы, чтобы новый тип данных мог быть использован наравне с системными типами: сложение времен; разность времен; преобразование секунд во время и обратно, операции сравнения, преобразования типов…
Как переделать код, чтобы удовлетворял условиям?
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
include <iostream>
#include <conio.h>
using namespace std;
 
class clock {
    public:
        clock(unsigned long i);
        void print() const;
        void tick();
        clock operator++(){tick(); return *this;}
        void reset(const clock& c);
        friend clock operator+(clock c1, clock c2);
        clock operator -(clock c);
        friend clock operator *(unsigned long m, clock c);
        friend clock operator *(clock c, unsigned long m);
        friend ostream& operator<<(ostream& out, clock x);
        friend istream& operator>>(istream& in, clock& x);
        private:
            long a, q;
            unsigned long tot_secs, secs, mins, hours, days;
        };
        inline clock::clock(unsigned long i)
        {
            tot_secs = i;
            secs = tot_secs % 60;
            mins = (tot_secs / 60) % 60;
            hours = (tot_secs / 3600) % 24;
        }
        void clock::tick()
        {
            clock temp = clock(++tot_secs);
            secs = temp.secs;
            mins = temp.mins;
            hours = temp.hours;
        }
        void clock::print() const
        {
            cout<<hours << " h: "
            <<mins << "m: " << secs << " c" << endl;
        }
        std::ostream& operator<<(ostream& out, clock x) {
            return (out << x.a << "/ " << x.q << '\t');
        }
        std::istream& operator>>(istream& in, clock& x) {
            return(in >> x.a >> x.q);
        }
            int main() {
                clock t1(59), t2(172799);
                cout << "nachalnoe poloshenie";
                t1.print();
                t2.print();
                cout << "cheres secudy";
                t1.print();
                t2.print();
                getch();
                return 0;
            }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.05.2014, 15:58     Сложение, разность, сравнение времён
Посмотрите здесь:

сложение и вычитание векторов, скалярное произведение векторов, умножение на скаляр, сравнение векторов, вычисление длины вектора C++
разность/сумма C++
C++ Разность массивов
Разность чисел C++
C++ объединение, пересечение , разность, симметрическую разность множеств
сложение и вычитание, умножение и деление, сравнение сумм C++
C++ Организовать арифметику класса ( сложение вычитание и сравнение) в виде именованных функций, сохраняющих результат в объекте «this»
Соединение двух программ в одну (бинарное сложение и бинарное сравнение) C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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