1
resposta

Meu código está dando erro no Program.cs , não aceita na Saída "Total". Como resolver?

Program.cs
namespace ConsoleAppTriangulo
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Informe os lados do primeiro triângulo.");
            Console.WriteLine("lado a: ");
            double a1 = double.Parse(Console.ReadLine());

            Console.WriteLine("lado b: ");
            double b1 = double.Parse(Console.ReadLine());

            Console.WriteLine("lado c: ");
            double c1 = double.Parse(Console.ReadLine());


            Console.Write("Informe os lados do segundo triângulo.");
            Console.WriteLine("lado a: ");
            double a2 = double.Parse(Console.ReadLine());

            Console.WriteLine("lado b: ");
            double b2 = double.Parse(Console.ReadLine());

            Console.WriteLine("lado c: ");
            double c2 = double.Parse(Console.ReadLine());
            //PROCESSAMENTO

            Triangulo calculo = new Triangulo(a1, b1, c1, a2, b2, c2);
        }

        //SAIDA
        public double Triangulo
        {
            set
            {
                if Total = true
///O problema está aqui com o    "Total"//////////////
                {
                    Console.WriteLine("O triângulo possui os lados iguais");
                }
                else
                {
                    Console.WriteLine("O triângulo não possui os lados iguais");
                }
            }
        }
    }
}

Triangulo.cs
namespace ConsoleAppTriangulo
{
    class Triangulo
    {
        public double a1, b1, c1, a2, b2, c2;


        public Triangulo(double a1, double b1, double c1, double a2, double b2, double c2)
        {
            this.a1 = a1;
            this.b1 = b1;
            this.c1 = c1;
            this.a2 = a2;
            this.b2 = b2;
            this.c2 = c2;

        }
        public bool Total()
        {
            if (a1 == a2 && b1 == b2 && c1 == c2 || a1 == b2 && b1 == c2 && c1 == a2 || a1 == c1 && b1 == a2 && c1 == b2)
            {
               return true;
            }
            else
            {
              return  false;
            }
        }
    }
}
1 resposta

Sandra,

O problema está na sintaxe do if. O correto nesse caso seria fazer um if da seguinte forma:

if (Total())
{
    Console.WriteLine("O triângulo possui os lados iguais");
}
else
{
    Console.WriteLine("O triângulo não possui os lados iguais");
}

O Total() é um método, sendo assim é necessário utilizar as chaves para chama-lo, e por ser um método que retorna um booleano, não é necessário utilizar a comparação Total() == true, por boas práticas somente devemos colocar a condição if(Total()), pois o C# já entende que é um booleano e que estamos tentando verificar se ele é verdadeiro.

Caso você quisesse saber se ele é falso era só colocar da seguinte forma if(!Total()), pois o sinal de ! representa negação.