|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Конвертация времени |
|
C/C++ - Конвертация времени
|
Новый участник Сообщения: 17 |
Профиль | Отправить PM | Цитировать Здравствуйте!
Задание: Создайте класс Время, в котором реализованы операции сложения, вычитания, сравнения, ввода и вывод на экран. Возможность конвертации времени из американского формата am (pm): 10:00 pm = 22:00, 12:00 pm =00:00 Все сделал кроме конвертации... Помогите реализовать данную функцию.. //main #include <iostream> #include "time.h" using namespace std; int main(){ Time A (13, 50); cout <<A; Time B (12, 45); cout << B; Time C = A + B; cout << C; C = A - B; cout << C; C = B - A; cout << C; cout << (A == B); cin >> C; cout << C; } //time.h #include <iostream> using namespace std; class Time{ private: int hour; int minute; public: Time(int, int); Time operator + (Time); Time operator - (Time); bool operator == (Time); friend istream& operator >> (istream&, Time&); friend ostream& operator << (ostream&, const Time&); void Convert(); }; //time.cpp #include <iostream> #include "time.h" Time::Time(int h, int m){ hour = h; minute = m; } Time Time::operator+(Time tm){ Time t(this->hour, this->minute); t.hour += tm.hour; t.minute += tm.minute; if (t.minute >= 60){ do{ t.minute -= 60; t.hour += 1; }while(t.minute >= 60); } if(t.hour >= 24){ t.hour = t.hour%24; } return t; } Time Time::operator-(Time tm){ Time t(this->hour, this->minute); t.hour -= tm.hour; t.minute -= tm.minute; if(t.minute < 0){ t.minute = t.minute + 60; t.hour -= 1; } if(t.hour < 0){ t.hour = 0 - t.hour; } return t; } bool Time::operator==(Time t){ if (this->hour == t.hour && this->minute == t.minute) return true; else return false; } istream& operator >> (istream &input, Time &t){ cout << "Enter hour: "; input >> t.hour; cout << "Enter minute: "; input >> t.minute; return input; } ostream& operator << (ostream &output, const Time &t){ output.width(2); output.fill('0'); output << t.hour; output << ":"; output.width(2); output.fill('0'); output << t.minute; output << endl; return output; } void Time::Convert(){ } |
|
Отправлено: 23:34, 14-12-2012 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать А в чем сложность? Если PM - прибавляем 12, если AM - оставляем как есть. Также проверяем, если PM+12=24, то выводим 00:00. И вся конвертация.
|
------- Отправлено: 02:24, 15-12-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Debian/Ubuntu - Конвертация flv в mp4 для psp | Rezor666 | Общий по Linux | 5 | 02-06-2012 23:11 | |
CMD/BAT - конвертация файлов | DarkSmail | Скриптовые языки администрирования Windows | 0 | 29-01-2012 16:55 | |
Конвертация asf в avi | aerosmit | Видео и аудио: обработка и кодирование | 3 | 15-03-2010 03:58 | |
конвертация в DVD-5 | Settler | Видео и аудио: обработка и кодирование | 13 | 15-07-2009 21:42 | |
Конвертация муз. файлов... | LeXo | Хочу все знать | 1 | 17-04-2003 19:50 |
|