コード例 #1
0
        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!");
            }
        }
コード例 #2
0
        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);
        }