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

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

Войти
Регистрация
Восстановить пароль
 
masluk1
0 / 0 / 0
Регистрация: 25.10.2012
Сообщений: 12
#1

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

15.12.2012, 09:23. Просмотров 427. Ответов 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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2012, 09:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Противоположное значение времени (C++):

Написать функцию, изменяющую значение n-го бита на противоположное - C++
Написать функцию, изменяющую значение n-го бита на противоположное. Значение принять с клавиатуры и проверить на корректность

Противоположное действие - C++
Как дополнить эту подпрограмму так чтобы если нет фамилии с первой буквой В, то выводился текст - &quot;ошибка&quot;? void...

Значение времени - C++
как можно создавать программу которая принимает от пользователя два значения времени – строки вида ТТ.ТТ.ТТ, где Т – это любая цифра из...

Функция выводящая значение времени - C++
Есть задача: Напишите программу, которая выдает запрос на ввод значений часов и минут. Функция main () должна передать эти два значения...

Получить значение амплитуды аудио в заданный момент времени - C++
Здравствуйте. Использую библиотеку SFML для создания игры и возник вопрос: В игре будут находиться объекты, размер и поведение которых...

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

1
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;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.12.2012, 18:33
Привет! Вот еще темы с ответами:

Проверка на правильность времени, и показ времени - C++
Подскажите, что нужно возвращать в функцию bool is_correct(TIME t); и как эту функцию коректности времени всунуть в функцию void...

Найти значение 3-го по величине элемента и значение всех элементов массива, которые его превышают, заменить на найденное значение - C++
Работа с массивами:

EventTrigger противоположное значение - C# WPF
хочу в стиле treeviewitem'а поставить expand по одной кнопке, для этого использую Eventtrigger, но вот дело в том, что сейчас работает...

Смена привязки на противоположное значение - C# WPF
есть простой xaml кнопка1 привязана к чекбоксу. Когда чекбокс установлен, кнопка1 так же включается для нажатия. Нужно что бы кнопка2...


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

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

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