static void Main(string[] args) { int nrElementos = 0; string entrada = ""; bool isNumeroInteiro = false; string[] dsConectado; int[] nrConectado; char continuarConectando = ' '; char consultar = ' '; try { Validacoes valicao = new Validacoes(); Console.WriteLine("Ola, vamos começar?"); Console.WriteLine("Informe um número positivo inteiro para determinar o número de elementos:"); entrada = Console.ReadLine(); while (isNumeroInteiro == false) { isNumeroInteiro = int.TryParse(entrada, out nrElementos); if (!isNumeroInteiro && nrElementos < 1) { Console.Clear(); Console.WriteLine("Informação inválida!"); Console.ReadLine(); Console.Clear(); Console.WriteLine("Vamos tentar novamente?"); Console.WriteLine("Informe um número positivo inteiro para determinar o número de elementos:"); entrada = Console.ReadLine(); } } Universo universo = new Universo(nrElementos); do { do { Console.Clear(); Console.WriteLine("Agora informe 2 numeros diferentes separados por ifem (x-y)"); dsConectado = Console.ReadLine().Split("-"); } while (!valicao.validaConexoes(dsConectado, universo)); nrConectado = Array.ConvertAll(dsConectado, Int32.Parse); universo.conectar(nrConectado[0], nrConectado[1]); Console.Write("Deseja inserir mais uma conexão ? Digite [S] se quiser continuar! "); continuarConectando = Console.ReadKey().KeyChar; } while (continuarConectando == 's' || continuarConectando == 'S'); Console.Clear(); Console.WriteLine("Deseja consultar alguma conexão? Digite [S] se quiser continuar!"); consultar = Console.ReadKey().KeyChar; while (consultar == 's' || consultar == 'S') { Console.Clear(); Console.WriteLine("Informe 2 numeros diferentes separados por ifem (x-y) para consulta!"); do { dsConectado = Console.ReadLine().Split("-"); } while (!valicao.validaConexoes(dsConectado, universo)); nrConectado = Array.ConvertAll(dsConectado, Int32.Parse); if (universo.consultar(nrConectado[0], nrConectado[1])) { Console.WriteLine("Os números " + nrConectado[0] + " e " + nrConectado[1] + " estão conectados!"); } else { Console.WriteLine("Os números " + nrConectado[0] + " e " + nrConectado[1] + " não estão conectados!"); } Console.Write("Deseja consultar mais uma conexão ? Digite [S] se quiser continuar! "); consultar = Console.ReadKey().KeyChar; } Console.Clear(); Console.Write("Até mais!"); consultar = Console.ReadKey().KeyChar; } catch (Exception e) { Console.Clear(); Console.WriteLine("ERRO: {0}", e.Message.ToUpper() + "Tecle enter para finalizar!"); } }
public bool validaConexoes(string [] validaConectados, Universo universo) { bool n1 = false; bool n2 = false; int[] conectados = new int[2]; if (validaConectados == null) { Console.WriteLine("Informação inválida!"); Console.ReadLine(); Console.Clear(); Console.WriteLine("Vamos tentar novamente?"); Console.ReadLine(); return(false); } if (validaConectados.Length != 2) { Console.WriteLine("Informação inválida!"); Console.ReadLine(); Console.Clear(); Console.WriteLine("Vamos tentar novamente?"); Console.ReadLine(); return(false); } n1 = int.TryParse(validaConectados[0], out conectados[0]); n2 = int.TryParse(validaConectados[1], out conectados[1]); if (!n1 || !n2) { Console.WriteLine("Informação inválida!"); Console.ReadLine(); Console.Clear(); Console.WriteLine("Vamos tentar novamente?"); Console.ReadLine(); return(false); } if (conectados.Length != conectados.Distinct().Count()) { Console.WriteLine("Informação inválida!"); Console.ReadLine(); Console.Clear(); Console.WriteLine("Vamos tentar novamente?"); Console.WriteLine("Os números informados precisam ser diferentes!"); Console.ReadLine(); return(false); } if (conectados[0] < 1 || conectados[1] < 1) { Console.WriteLine("Informação inválida!"); Console.ReadLine(); Console.Clear(); Console.WriteLine("Vamos tentar novamente?"); Console.WriteLine("Os números informados devem ser numeros inteiros positivos!"); Console.ReadLine(); return(false); } if (conectados[0] > universo.QtConjunto || conectados[1] > universo.QtConjunto) { Console.WriteLine("Informação inválida!"); Console.ReadLine(); Console.Clear(); Console.WriteLine("Vamos tentar novamente?"); Console.WriteLine("Os números devem ser de 1 à " + universo.QtConjunto); Console.ReadLine(); return(false); } return(true); }