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

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

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

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

15.12.2012, 09:23. Просмотров 416. Ответов 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     Противоположное значение времени
Посмотрите здесь:

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

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

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

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

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

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

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

Замена всех элементов массива, значение которых превышает среднее значение, максимальным элементом - C++
Написать функцию для замены всех элементов массива значение которых превышает среднее значение максимального и минимального элемента...

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

Вычислите значение выражения. Значение х вводится с клавиатуры - C++
Определите количество трехзначных натуральных чисел, произведение цифр которых равно введенному с клавиатуры числу N. Выведите эти числа.


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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;
}
Ответ Создать тему
Опции темы

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