求一个比较简单的程序编辑PASCAL的

来源:百度知道 编辑:UC知道 时间:2024/05/21 04:23:14
我要计算农场作物成熟的时间,计算方法是这样的。
24小时制的

如果成熟时间>24 则用成熟时间-24直到得数<24为止,(减去多少个24,日期就加上多少个一)再用得数+现在时间。如果得数大于24则-24求得时间。且日期再加一。
范例:
萝卜成熟时间为 20h.

先输入现在日期时间:7.20.20:12
再输入成熟时间:20h
计算机计算过程:20:12+20h=40:12
40:12-24=16:12
日期加一天 的 7.21日
输出: 成熟时间 7.21日 16:12
----------------------------------------------
有哪位高手 能帮我写出 程序.!?
如果 读不懂题的,请+Q 1004486720

2月默认28天
成熟时间默认为整小时数
var s,s1:string;
i,min,d,m,h,code,k,jl:longint;
begin
readln(s);
for i:=1 to length(s) do
begin
if s[i]='.' then begin s1:=copy(s,1,i-1); val(s1,m,code); jl:=i;end;
if s[i]=' ' then begin s1:=copy(s,jl+1,i-jl-1); val(s1,d,code); jl:=i; end;
if s[i]=':' then begin s1:=copy(s,jl+1,i-jl-1); val(s1,h,code); jl:=i; end;
end;
s1:=copy(s,jl+1,length(s)-jl);
val(s1,min,code);
readln(k);
h:=h+k;
if h>=24 then begin d:=d+h div 24; h:=h mod 24;end;
case m of
1,3,5,7,8,10,12:if d>=31 then begin
if d>=31 then begin m:=m+d div 31; d:=d mod 31; end;
end;
4,6,9,11:if d>=30 then begin
if d>=30 then begin m:=m+d div 30; m:=m mod 30;end;
end;
2:if d>=28 then b