public static string diferencaDias(Date5 data1, Date5 data2) { string dataInicial = data1.extenso(); string dataFinal = data2.extenso(); string retorno = ""; string day = "dias"; int quantDias = 0; Date5 aux = new Date5(); DateTime dt1 = new DateTime(data1.getAno(), data1.getMes(), data1.getDia()); DateTime dt2 = new DateTime(data2.getAno(), data2.getMes(), data2.getDia()); if (dt1 > dt2) { dataFinal = data1.extenso(); dataInicial = data2.extenso(); aux = data2; data2 = data1; data1 = aux; } quantDias = data1.diffDias(data2, data1); if (quantDias == 1) { day = "dia"; } retorno = "O numero de dias entre " + dataInicial + " até " + dataFinal + " é de " + quantDias + " " + day; return(retorno); }
public static void menu() { int ano = 0, mes = 0, dia = 0; int op = 0; bool dataValida = true; string data = " "; Date5 data1 = new Date5(); Date5 data2 = new Date5(); Console.Clear(); Console.WriteLine("*********************** Testes Classe Date5 ***********************"); Console.WriteLine("*********************** Menu ***********************"); Console.WriteLine("1 - Diferença de datas"); Console.WriteLine("2 - Próximo dia de uma data"); Console.WriteLine("3 - Data por extenso"); Console.WriteLine("4 - Quantidade de dias tem o mes"); Console.WriteLine("5 - Verificar se o ano é bissexto"); Console.WriteLine("6 - Verificar se uma data é válida"); Console.WriteLine("7 - Dia da data"); Console.WriteLine("0 - Sair"); op = int.Parse(Console.ReadLine()); switch (op) { case 1: Console.Clear(); Console.WriteLine("Digite a primeira data, com dia,mes e ano respectivamente separados por '/'"); data = Console.ReadLine(); if (quebraData(ref ano, ref mes, ref dia, data)) { data1 = new Date5(ano, mes, dia); } else { menu(); break; } if (data1.dataValida()) { Console.WriteLine("\nDigite a segunda data, com dia,mes e ano respectivamente separados por '/'"); data = Console.ReadLine(); if (quebraData(ref ano, ref mes, ref dia, data)) { data2 = new Date5(ano, mes, dia); } else { menu(); break; } if (!data2.dataValida()) { dataValida = false; } } else { dataValida = false; } if (dataValida) { Console.WriteLine("\n" + diferencaDias(data1, data2)); voltarMenu(); } else { Console.WriteLine("Data inválida"); } break; case 2: Console.Clear(); Console.WriteLine("Digite uma data, com dia,mes e ano respectivamente separados por '/'"); data = Console.ReadLine(); if (quebraData(ref ano, ref mes, ref dia, data)) { data1 = new Date5(ano, mes, dia); } else { menu(); break; } if (data1.dataValida()) { data1.proximoDia(); Console.WriteLine("O próximo dia da data é o dia " + data1.getDia()); voltarMenu(); } else { Console.WriteLine("Data inválida"); } break; case 3: Console.Clear(); Console.WriteLine("Digite uma data, com dia,mes e ano respectivamente separados por '/'"); data = Console.ReadLine(); if (quebraData(ref ano, ref mes, ref dia, data)) { data1 = new Date5(ano, mes, dia); } else { menu(); break; } if (data1.dataValida()) { Console.WriteLine(data1.extenso()); voltarMenu(); } else { Console.WriteLine("Data inválida"); } break; case 4: Console.Clear(); Console.WriteLine("Digite uma data, com dia,mes e ano respectivamente separados por '/'"); data = Console.ReadLine(); if (quebraData(ref ano, ref mes, ref dia, data)) { data1 = new Date5(ano, mes, dia); } else { menu(); break; } if (data1.dataValida()) { string mesExtenso = System.Globalization.DateTimeFormatInfo.CurrentInfo.GetMonthName(mes).ToLower(); Console.WriteLine(mesExtenso + " de " + ano + " tem " + data1.diasMes() + " dias"); voltarMenu(); } else { Console.WriteLine("Data inválida"); } break; case 5: Console.Clear(); Console.WriteLine("Digite um ano"); ano = int.Parse(Console.ReadLine()); if (ano > 0) { if (data1.bissexto(ano)) { Console.WriteLine(ano + " é bissexto!"); voltarMenu(); } else { Console.WriteLine(ano + " não é bissexto!"); voltarMenu(); } } else { Console.WriteLine("Ano inválido"); } break; case 6: Console.Clear(); Console.WriteLine("Digite uma data, com dia,mes e ano respectivamente separados por '/'"); data = Console.ReadLine(); if (quebraData(ref ano, ref mes, ref dia, data)) { data1 = new Date5(ano, mes, dia); } else { menu(); break; } if (data1.dataValida()) { Console.WriteLine("A data é válida !"); voltarMenu(); } else { Console.WriteLine("Data inválida"); voltarMenu(); } break; case 7: Console.Clear(); Console.WriteLine("Digite uma data, com dia,mes e ano respectivamente separados por '/'"); data = Console.ReadLine(); if (quebraData(ref ano, ref mes, ref dia, data)) { data1 = new Date5(ano, mes, dia); } else { menu(); break; } if (data1.dataValida()) { Console.WriteLine(data1.extenso() + " é o dia " + data1.diaData() + " do ano"); voltarMenu(); } else { Console.WriteLine("Data inválida"); } break; case 0: sair(); break; default: Console.WriteLine("Digite uma opção válida, aperte qualquer tecla para voltar ao menu"); Console.ReadKey(); menu(); break; } }