Socorrão, esqueci-me. Mas mesmo assim, está-me a fazer alguma confusão porque se forem adicionados, por exemplo, 70min, a hora também vai mudar. Vou tentar adicionar a conversão de minutos para horas primeiro.
Acabei por tentar resolver o problema assim:
soma_min:: Hora -> Int -> Hora
soma_min (a,b) c = if b+c<=59 then (a, b+c)
else if b+c==60 && a<=23 then (a+1,0)
else if b+c>60 then (a+ div c 60, b+ mod c 60)
else (0,0)
Só que quando tento soma_min (10,40) 30 dá (10,70)
↧