// Testa se a saída é maior a entrada private void testSaida(Tempo entradaNova) { saida.preencheTempo(); if (entradaNova.getHora() > saida.getHora()) { Console.WriteLine("A hora de saida tem que ser maior a de entrada: "); testSaida(entradaNova); } if (entradaNova.getHora() == saida.getHora()) { if (entradaNova.getMin() > saida.getMin()) { Console.WriteLine("A hora de saida tem que ser maior a de entrada: "); testSaida(entradaNova); } if (entradaNova.getMin() == saida.getMin()) { if (entradaNova.getSeg() >= saida.getSeg()) { Console.WriteLine("A hora de saida tem que ser maior a de entrada: "); testSaida(entradaNova); } } } }
public void dadosEstacionamento() { bool validade; Console.WriteLine("\n Informe o numero da placa do veiculo: "); placa = Console.ReadLine(); Console.WriteLine("\n Informe a marca do veiculo: "); marca = Console.ReadLine(); Console.WriteLine("\n Informe o horario de entrada: "); entrada.dados(); do { validade = true; Console.WriteLine("\n Informe o horario de saida: "); saida.dados(); if (saida.getHora() == entrada.getHora()) { if (saida.getMinuto() == entrada.getMinuto()) { if (saida.getSegundo() == entrada.getSegundo()) { validade = false; } } else if (saida.getMinuto() < entrada.getMinuto()) { validade = false; } } else if (saida.getHora() < entrada.getHora()) { validade = false; } if (!validade) { Console.WriteLine("\n O horario de saida eh invalido!"); } }while (!validade); }
// Imprime os dados do carro public void imprimeDados() { Console.WriteLine("Placa do carro: " + chapa); Console.WriteLine("Marca do carro: " + marca); Console.WriteLine("Horário de entrada: " + Convert.ToString(entrada.getHora()).PadLeft(2, '0') + ":" + Convert.ToString(entrada.getMin()).PadLeft(2, '0') + ":" + Convert.ToString(entrada.getSeg()).PadLeft(2, '0')); Console.WriteLine("Horário de saida: " + Convert.ToString(saida.getHora()).PadLeft(2, '0') + ":" + Convert.ToString(saida.getMin()).PadLeft(2, '0') + ":" + Convert.ToString(saida.getSeg()).PadLeft(2, '0')); }
// 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); }
//Metodo Total do Pagamento public void totalPagar() { Tempo totalHoras = horaSaida.subtraiTempo(horaEntrada); int qtd_horas; qtd_horas = totalHoras.getHora() * 7; Console.Write("Tempo de estádia: "); totalHoras.imprimeTempo(); Console.WriteLine("Valor total: R$ " + qtd_horas + ",00"); }
public void taxaCobrada() { int preco; Tempo total = new Tempo(); total = saida.subtrair(entrada); preco = 7 * total.getHora(); if (total.getMinuto() > 0 || total.getSegundo() > 0) { preco = preco + 7; } Console.WriteLine("\n O valor cobrado eh: " + preco); }
public int diferença(Tempo t) { int _hora, _min, _segs; _hora = hora - t.getHora(); _min = min - t.getMin(); _segs = segs - t.getSegs(); if (_segs < 0) { _segs += 10; _min--; } if (_min < 0) { _min += 10; _hora--; } return(_hora); }
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)); } }
public Tempo soma(Tempo t) { int _hora, _min, _segs; _hora = hora + t.getHora(); _min = min + t.getMin(); _segs = segs + t.getSegs(); if (_segs > 59) { _segs -= 60; _min++; } if (_min > 59) { _min -= 60; _hora++; } if (_hora > 23) { _hora -= 24; } return(new Tempo(_hora, _min, _segs)); }