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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2011, 01:13   #1
Антон Лысенко
Форумчанин
 
Регистрация: 15.12.2010
Сообщений: 181
По умолчанию Сложить два времени. Delphi6

Надо сложить два времени часы:минуты:секунды
вот то что я сделал. программа работает правильно. Но может у кого то есть другие идеи на счет того как решить эту задачу. Предлагайте. Будем думать
Код:
rogram Dod;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var Sut,h1,h2,hv1,hv2,s1,s2:byte;
begin
writeln('Pershyi chas');
write('hodyny=');readln(h1);
write('hvylyny=');readln(hv1);
write('sekundy=');readln(s1);
writeln('Drugyi chas');
write('hodyny=');readln(h2);
write('hvylyny=');readln(hv2);
write('sekundy=');readln(s2);
if (s1+s2)>60 then
 begin
  hv2:=((s1+s2)div 60)+hv2;
  s2:=(s1+s2)mod 60;
 end
else
 s2:=s1+s2;
if (hv2+hv1)>60 then
  begin
   h2:=((hv1+hv2)div 60)+h2;
   hv2:=(hv1+hv2)mod 60;
  end
 else
   hv2:=hv1+hv2;
 if (h1+h2)>24 then
  begin
   sut:=(h1+h2)div 24;
   h2:=(h1+h2)mod 24;
  end
 else
  begin
   h2:=h1+h2;
   sut:=0
  end;
   writeln('Sutky=',sut,' hodyny=',h2,' hvylyny=',hv2,' sekundy=',s2);
   readln;

  { TODO -oUser -cConsole Main : Insert code here }
end.
Антон Лысенко вне форума Ответить с цитированием
Старый 11.04.2011, 03:10   #2
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Код:
function H2S(h:integer):integer;
begin
     H2S:=h*3600;
end;

function M2S(m:integer):integer;
begin
     M2S:=m*60;
end;

function S2H(s:integer):integer;
begin
     S2H:=trunc(s/3600);
end;

function S2M(s:integer):integer;
var t:integer;
begin
     t:=trunc(s/60);
     while t>=60 do
     t:=t-60;
     S2M:=t;
end;

function S2S(s:integer):integer;
var t:integer;
begin
     t:=s;
     while t>=60 do
     t:=t-60;
     S2S:=t;
end;

var h1,h2,h3,m1,m2,m3,s1,s2,s3:integer;
begin
     // заполнение
     ...
     h3:=S2H(H2S(h1)+M2S(m1)+s1+H2S(h2)+M2S(m2)+s2);
     m3:=S2M(H2S(h1)+M2S(m1)+s1+H2S(h2)+M2S(m2)+s2);
     s3:=S2S(H2S(h1)+M2S(m1)+s1+H2S(h2)+M2S(m2)+s2);
     // вывод
     ...
end.
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.
Sparkman вне форума Ответить с цитированием
Старый 11.04.2011, 17:40   #3
Антон Лысенко
Форумчанин
 
Регистрация: 15.12.2010
Сообщений: 181
По умолчанию

ОГО))) теперь попробую разобраться. спасибо, мне уже интересно)))
Антон Лысенко вне форума Ответить с цитированием
Старый 11.04.2011, 19:40   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ребят, а скажите, банально две переменные TDateTime
EncodeTime, потом банально сложить и DecodeTime
разве не проще будет?..

или я чего-то упускаю из виду?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.04.2011, 02:36   #5
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

изобретать изобретенное веселее
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.
Sparkman вне форума Ответить с цитированием
Старый 15.04.2011, 17:57   #6
Антон Лысенко
Форумчанин
 
Регистрация: 15.12.2010
Сообщений: 181
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
ребят, а скажите, банально две переменные TDateTime
EncodeTime, потом банально сложить и DecodeTime
разве не проще будет?..

или я чего-то упускаю из виду?
а это что?
Антон Лысенко вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сложить два массива char'ов и не только Ksardas13 Общие вопросы C/C++ 179 29.06.2017 20:31
MMX сложить два числа gansm Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 13 29.10.2010 05:16
как сложить два числа с плавающей точкой forsy Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 19 29.03.2010 02:15
Макрос: сложить два числа белочка Microsoft Office Excel 6 23.12.2009 22:02
Сложить два числа iwaniwan Win Api 3 23.04.2009 06:27