// Subtrai os horarios public Tempo subtraiTempo(Tempo t2) { Tempo t3 = new Tempo(); t3.setHora(subtraiTempoAux(hora, t2.getHora(), "hora", t3)); t3.setMin(subtraiTempoAux(min, t2.getMin(), "min", t3)); t3.setSeg(subtraiTempoAux(seg, t2.getSeg(), "seg", t3)); return(t3); }
// Soma os horarios public Tempo somaTempo(Tempo t2) { Tempo t3 = new Tempo(); t3.setHora(somaTempoAux(23, hora, t2.getHora(), "hora", t3)); t3.setMin(somaTempoAux(59, min, t2.getMin(), "min", t3)); t3.setSeg(somaTempoAux(59, seg, t2.getSeg(), "seg", t3)); return(t3); }
private int subtraiTempoAux(int t1, int t2, string indicador, Tempo t3) { if ((t1 - t2) >= 0) { return(t1 - t2); } if (indicador == "hora") { Console.WriteLine("O tempo 2 deve ser menor que o tempo 1"); } if (indicador == "min") { t3.setHora(subtraiTempoAux(t3.getHora(), 1, "hora", t3)); return(subtraiTempoAux(((t1 - t2) + 60), 0, "min", t3)); } else { t3.setMin(subtraiTempoAux(t3.getMin(), 1, "min", t3)); return(subtraiTempoAux(((t1 - t2) + 60), 0, "seg", t3)); } }
private int somaTempoAux(int max, int t1, int t2, string indicador, Tempo t3) { if ((t1 + t2) <= max) { return(t1 + t2); } if (indicador == "hora") { Console.WriteLine("A soma dos tempos é maior que o máximo permitido"); } if (indicador == "min") { t3.setHora(somaTempoAux(23, t3.getHora(), 1, "hora", t3)); return(somaTempoAux(max, ((t1 + t2) - 60), 0, "min", t3)); } else { t3.setMin(somaTempoAux(59, t3.getMin(), 1, "min", t3)); return(somaTempoAux(max, ((t1 + t2) - 60), 0, "seg", t3)); } }