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

Реализация класса "Время" - C++

Восстановить пароль Регистрация
 
molinari
0 / 0 / 0
Регистрация: 20.02.2012
Сообщений: 9
05.03.2012, 21:57     Реализация класса "Время" #1
Помогите в реализации класса
1.разность двух времен в секундах,
2.прибавление ко времени одной секунды,
3.сравнение двух времен,
Заранее спасибо!

Добавлено через 57 секунд
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
class Vremja
{
public:
    Vremja();
    void setVremja(int,int,int);
    void print();
    void setVremja();
private:
    int hour;
    int min;
    int sec;
};
Vremja::Vremja()
{hour=min=sec=0;}
void Vremja::setVremja(int h,int m, int s)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,093
05.03.2012, 22:03     Реализация класса "Время" #2
Не нужно столько полей, храни только секунды, проще и эффективней.
molinari
0 / 0 / 0
Регистрация: 20.02.2012
Сообщений: 9
05.03.2012, 22:12  [ТС]     Реализация класса "Время" #3
Так было бы проще, но требуется вывод на консоль, с введением времени с клавиатуры.
(часы : минуты : секунды).
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,093
05.03.2012, 22:19     Реализация класса "Время" #4
sec % 60 — секунды, sec / 60 % 60 — минуты, sec / 3600 — часы. Обратно ещё проще.
molinari
0 / 0 / 0
Регистрация: 20.02.2012
Сообщений: 9
06.03.2012, 05:00  [ТС]     Реализация класса "Время" #5
как то так )
но хотелось бы без перегрузок написать код

Добавлено через 5 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
vremya c;
int d;
c.n= t1.n;
c.g=t2.g-t1.g;
 
c.m=t2.m-t1.m;
if(t2.m<t1.m)
{c.g=c.g-1;c.m=c.m+60;}
 
c.n=t2.n-t1.n;
if(t2.n<t1.n)
{c.m=c.m-1;c.n=c.n+60;}
if(c.n>60)
{c.n=c.n-60; c.m=c.m+1;}
if(c.m>60)
{c.m=c.m-60; c.m=c.m+1;}
d=c.n*3600+c.m*60+c.g*1;
cout<<"Количество секунд между двумя моментами времени: " <<d<<endl;
return c;
};
Добавлено через 1 час 12 минут
помогите в реализации кода, завтра лабу здавать.

Добавлено через 5 часов 3 минуты
Неужели не кому помочь?
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
06.03.2012, 07:23     Реализация класса "Время" #6
Жесть какаято написана... Вам же посоветовали хранить время в секундах. Вот и последуйте совету.
А потом оператором % будете высчитывать часы и минуты.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.03.2012, 13:52     Реализация класса "Время"
Еще ссылки по теме:

Перегрузка "opеrator =" и "{ }" для собственного класса C++
Конструктор класса "Время" C++
Создание объекта класса сразу после его описания (между "}" и ";") C++

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

Или воспользуйтесь поиском по форуму:
molinari
0 / 0 / 0
Регистрация: 20.02.2012
Сообщений: 9
06.03.2012, 13:52  [ТС]     Реализация класса "Время" #7
Все сделал как вы сказали, отрицательные числа получаются при разности двух времен.
Yandex
Объявления
06.03.2012, 13:52     Реализация класса "Время"
Ответ Создать тему
Опции темы

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