Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Конвертация времени

Ответить
Настройки темы
C/C++ - Конвертация времени

Новый участник


Сообщения: 17
Благодарности: 0


Конфигурация

Профиль | Отправить 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

 

Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


А в чем сложность? Если PM - прибавляем 12, если AM - оставляем как есть. Также проверяем, если PM+12=24, то выводим 00:00. И вся конвертация.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 02:24, 15-12-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Конвертация времени

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
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




 
Переход