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

Противоположное значение времени - C++

Восстановить пароль Регистрация
 
masluk1
0 / 0 / 0
Регистрация: 25.10.2012
Сообщений: 12
15.12.2012, 09:23     Противоположное значение времени #1
Помогите пожалуйста найти противоположное значение времени. Как я понимаю это надо от 24:00:00 отнять время, которое ввел пользователь. Как это осуществить?

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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
#include <iostream>
#include <stdlib.h>
using namespace std;
 
class MyTime
{
    int h, m, s; //в переменные будет передаваться значение из параметров
    public:
        MyTime();
        MyTime(int, int, int); //Класс принимает 3 параметра
        void sum_MyTime(); //прототип функции суммирования
        void minys_MyTime(); //прототип функции вычитания
        void show_MyTime(); // прототип функции отоброжения
                void prot_MyTime(); // прототип функции противоположного значения
};
 
MyTime::MyTime(int x, int y, int z){ //Конструктор принимает 3 параметра
    int i;
        
    h = x;
    m = y;
    s = z;
 
    i = h*3600+m*60+s; // переводим всё в секунды
    h = i/3600; //находим кол-во часов
    i = i%3600; //вычисляем остаток секунд
    m = i/60; //находим кол-во минут
    s = i%60; //находим количество секунд
    
    system("cls");//очистка экрана
 
}
 
MyTime::MyTime(){ //Конструктор не принимает параметров
    h = 0;
    m = 0;
    s = 0;
}
 
//Функция сумирования
void MyTime::sum_MyTime(){
    int h1, m1, s1; //внутрение переменные функции
    int i; //временная переменная
    cout << "Vvedite chasy: ";
    cin >> h1; //получаем от пользователя часы
    cout << "Vvedite minuty: ";
    cin >> m1; //получаем от пользователя минуты
    cout << "Vvedite sekundy: ";
    cin >> s1; //получаем от пользователя секунды
    i = h*3600+m*60+s+h1*3600+m1*60+s1; // переводим всё в секунды
    h1 = i/3600; //находим кол-во часов
    i = i%3600; //вычисляем остаток секунд
    m1 = i/60; //находим кол-во минут
    s1 = i%60; //находим количество секунд
    system("cls"); //очистка экрана
    cout << "Rezul'tat summirovanija: " << h1 << ":" << m1 << ":" << s1 << endl; //вывод по формату чч:мм:сс
}
 
 
//Функция вычитания
void MyTime::minys_MyTime(){
    int i, h1, m1, s1;
    cout << "Vvedite chasy: ";
    cin >> h1; //получаем от пользователя часы
    cout << "Vvedite minuty: ";
    cin >> m1; //получаем от пользователя минуты
    cout << "Vvedite sekundy: ";
    cin >> s1; //получаем от пользователя секунды
    i = h*3600+m*60+s-h1*3600-m1*60-s1; // переводим всё в секунды
    h1 = i/3600; //находим кол-во часов
    i = i%3600; //вычисляем остаток секунд
    m1 = i/60; //находим кол-во минут
    s1 = i%60; //находим количество секунд
    system("cls");//очистка экрана
    cout << "Rezul'tat vichitanya: " << h1 << ":" << m1 << ":" << s1 << endl; //вывод по формату чч:мм:сс
}
//[B]Функция противоположного значения
void MyTime::prot_MyTime(){
        int i, h1, m1, s1;
    i = ????????????; // переводим всё в секунды
    h1 = i/3600; //находим кол-во часов
    i = i%3600; //вычисляем остаток секунд
    m1 = i/60; //находим кол-во минут
    s1 = i%60; //находим количество секунд
    system("cls");//очистка экрана[/B] 
    cout << "Protivopolozhnoe vremya: " << h1 << ":" << m1 << ":" << s1 << endl; //вывод по формату чч:мм:сс
}
 
//Функция вывода времени
void MyTime::show_MyTime(){
    system("cls");//очистка экрана
    cout << "Vvedennoe vremja: " << h << ":" << m << ":" << s << endl;
}
 
 
MyTime obj(int, int, int);
MyTime obj();
 
int main()
{
    system("cls");//очистка экрана
    int a, i, hh, mm, ss;
    cout << "Vyberete dejstvie!\n1 - Zadat' vremja.\n2 Obnulit' vremja.\n";
    cin >> a;
/*условие выбора действия: при выборе 1, пользователь задаст время самостоятельно.
При получении любого другого символа програма обнулит время и заполнит все параметры нулями*/
 
    MyTime obj1=MyTime();
 
    if(a==1){
        cout << "Vvedite vremja.\n";
        cout << "Vvedite chasy: ";
        cin >> hh; //получаем от пользователя часы
        cout << "Vvedite minuty: ";
        cin >> mm; //получаем от пользователя минуты
        cout << "Vvedite sekundy: ";
        cin >> ss; //получаем от пользователя секунды
        MyTime obj2=MyTime(hh, mm, ss);
        obj1 = obj2;
    }
 
    obj1.show_MyTime();
    cout << "1 - Summirovanie vremeni.\n2 - Vichitanie vremeni.\n3 - Protivopolozhnoe vremya\nLjuboj drugoj simvol privedet k vyvodu vremeni i vyhodu iz programmy" << endl;
    cout << "Vyberete dejstvie: ";
    
    int choise;
    cin >> choise;
    
    switch(choise){
        case 1:
            obj1.sum_MyTime();
            break;
        case 2:
            obj1.minys_MyTime();
            break;
                case 3:
            obj1.prot_MyTime();
            break;
        default:
            obj1.show_MyTime();
    }
    system ("PAUSE");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2012, 09:23     Противоположное значение времени
Посмотрите здесь:

Найти значение 3-го по величине элемента и значение всех элементов массива, которые его превышают, заменить на найденное значение C++
Составьте программу, которая подсчитывает ко-личество бактерий на заданное вами целое значение момента времени. C++
Значение времени C++
C++ Противоположное действие
C++ циклы. Требуется найти максимальное значение функции на отрезке [a,b] и значение x C++
Получить значение амплитуды аудио в заданный момент времени C++
C++ Написать функцию, изменяющую значение n-го бита на противоположное
Вычислить значение аргумента x, значение функции y, max и min функций C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
JlightenDev_C++
 Аватар для JlightenDev_C++
61 / 61 / 7
Регистрация: 12.08.2012
Сообщений: 150
15.12.2012, 18:33     Противоположное значение времени #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
#include <iostream>
 
class Time{
      public:
             Time(int hour, int minute, int second):p_hour(hour), p_minute(minute), p_second(second){}
             void print(){
                 int hour(0), min(0), sec(0);
                 sec = (3600*24)-(p_hour*60+p_minute)*60 + p_second;
                 while(sec > 59){
                        sec -= 60;
                        min++;
                        if(min > 59){
                               hour++;
                               min = 0;
                               }
                        }
                 std::cout << hour << " " << min << " " << sec << std::endl;
             }
      private:
              int p_hour;
              int p_second;
              int p_minute;
      };
 
int main(){
    int hour(0), second(0), minute(0);
    std::cout << "Enter time(hours, seconds and minute): ";
    std::cin >> hour >> second >> minute;
    Time* timeObject = new Time(hour, second, minute);
    timeObject -> print();
    system("pause");
    return 0;
}
Yandex
Объявления
15.12.2012, 18:33     Противоположное значение времени
Ответ Создать тему
Опции темы

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