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

Написать класс Время (часы, минуты, секунды) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Процессы, чтение памяти - не работает код http://www.cyberforum.ru/cpp-beginners/thread1216303.html
Погуглив нашёл вот такой код для чтения памяти, немного его переделал для теста но он не хочет у меня работать Игра запускалась как от имени администратора так и от имени простого юзара тагже и программа вот код // test.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <iostream> #include <windows.h> #pragma comment(lib, "user32.lib")
C++ Сжатие массива путем поиска элементов меньше заданного значения Доброго времени суток всем. Задача: Задан одномерный целочисленный массив. Исключить из него все элементы, значения которых меньше заданного А Проблема с сжатием массива #include <stdio.h> #include <conio.h> #include <time.h> #include <stdlib.h> int a=0,n=0,V=0;//размерность n число a int mas=0; http://www.cyberforum.ru/cpp-beginners/thread1216293.html
C++ Решение уравнения - проверить код на корректность
Написал рещение небольшого уровнения а=корень из (2а+sin|2a|)/3,56 #include <iostream> #include <conio.h> #include <climits> #include <math.h> #include <climits> using namespace std; int main()
C++ Виртуальная функция
Ругается на метод virtual bool isOveersize() из класса publication. Что не так ? #include "stdafx.h" #include <string> #include <iostream> using namespace std; class publication {
C++ Составить все возможные меню, суммарная калорийность каждого из которых будет не меньше введенных величин http://www.cyberforum.ru/cpp-beginners/thread1216249.html
Справочник продуктов содержит название, калорийность и цену одного килограмма каждого продукта. Составить все возможные меню, суммарная калорийность каждого из которых будет не меньше, а общая стоимость не больше введенных пользователем величин. Меню - перечень продуктов со значением их количества и калорийности.
C++ Найти наибольшее значение отношения трехзначного числа к сумме его цифр Задача: Составить программу, которая находит наибольшее значение отношения трехзначного числа к сумме его цифр. Массивы и строки не использовать А текст программы написан правильно? //--------------------------------------------------------------------------- #include <stdio.h> #include <conio.h> #include <vcl.h> #pragma hdrstop ... подробнее

Показать сообщение отдельно
NanoBreaker
 Аватар для NanoBreaker
23 / 23 / 7
Регистрация: 11.07.2013
Сообщений: 82
25.06.2014, 00:17     Написать класс Время (часы, минуты, секунды)
Класс сделал далеко не лучшим способом, но думаю сойдет.

Вот time.hpp

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
#include <cmath>
#include <iostream>
 
using namespace std;
 
class Time
{
public:
    int hours;
    int minutes;
    int seconds;
 
    //конструкторы 
    Time(int hours_, int minutes_, int seconds_) : hours(hours_), minutes(minutes_), seconds(seconds_) {};
    Time() : hours(0), minutes(0), seconds(0) {};
 
    //если не хочешь пользоваться конструктором, то можно иницилизировать время через функцию
    void initTime(int hours_, int minutes_, int seconds_)
    {
        hours = hours_;
        minutes = minutes_;
        seconds = seconds_;
    }
 
    //фукнция для вычисления разницы во времени, в секундах
    double diff(Time time_)
    {
        //переводим всё в секунды для простоты нахождения разницы
        int seconds_this = hours * 3600 + minutes * 60 + seconds;
        int seconds_input = time_.hours * 3600 + time_.minutes * 60 + time_.seconds;
 
        //от большего вычисляем меньшее
        if (seconds_this > seconds_input) return seconds_this - seconds_input;
        else return seconds_input - seconds_this;
    }
 
        //перегружаем оператор присвоения
    Time operator=(Time time)
    {
        hours = time.hours;
        minutes = time.minutes;
        seconds = time.seconds;
        return *this;
    }
 
    //перегружаем оператор вывода для нашего времени
    friend ostream& operator << (ostream& s, Time& time)
    {
        return cout << "Hours: " << time.hours << " Minutes: " << time.minutes << " Seconds: " << time.seconds;
    }
 
};
И Main.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include "time.hpp"
 
using namespace std;
 
int main(void)
{
    Time t1(11, 42, 0);
    Time t2(11, 0, 0);
 
    cout << "Raznita v secundah mejdu t1 i t2 = " << t1.diff(t2) << endl;
 
    system("PAUSE");
    return 0;
}
P.S. Разницу вывел в секундах, если тебе надо в стандарте (ч,м,с), то тогда поколдуй над "seconds_this - seconds_input"
 
Текущее время: 22:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru