Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2012, 09:22   #1
masluk
 
Регистрация: 25.10.2012
Сообщений: 3
По умолчанию противоположное значение момента времени =((

Помогите пожалуйста найти противоположное значение времени. Как я понимаю это надо от 24:00:00 отнять время, которое ввел пользователь. Как это осуществить?

#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; //вывод по формату чч:мм:сс
}
//Функция противоположного значения
void MyTime:rot_MyTime(){
int i, h1, m1, s1;
i = ????????????; // переводим всё в секунды
h1 = i/3600; //находим кол-во часов
i = i%3600; //вычисляем остаток секунд
m1 = i/60; //находим кол-во минут
s1 = i%60; //находим количество секунд
system("cls");//очистка экрана

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;
}
masluk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сколько времени прошло с момента предыдущего запуска проги? igrok111 Общие вопросы Delphi 9 19.07.2012 21:14
регистрация осуществляемая только на раз с момента установки программы m1zantrop Общие вопросы Delphi 1 08.06.2012 12:18
Извлечение файла до момента создания формы volod3000 Общие вопросы Delphi 8 08.07.2011 18:38
Бейсик. Вычисление момента инерции,момента сопротивления площади поперечного сечения для кольца kostia-92 Помощь студентам 0 26.06.2011 09:58
Не понятны буквально 2 момента. Разъясните?) BuBlicK.SQP Паскаль, Turbo Pascal, PascalABC.NET 1 16.06.2010 19:55