Wątek przeniesiony 2021-11-16 02:10 z C/C++ przez furious programming.

Pomoc z kodem źródłowym - program do obliczenia trójkąta

0

Witam. Potrzebuję pomocy. Mam do napisania program w c# polegający na tym aby program "obliczyl" czy z danych odcinków da sie zbudowac trojkat i jaki to bedzie trojkat. Rzecz w tym, ze ciagle pojawia mi sie to co jest w else, wszystko sie miesza ze soba. Gdy podam wymiary pod dany rodzaj trojkata to consola wypisuje "da sie zbudowac" + "nie da sie zbudwac"....
Blagam o wyjasnienie co jest w kodzie nie tak...

using System;
namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            double a, b, c;
            Console.Write("Podaj długość boku a: ");
            a = Convert.ToDouble(Console.ReadLine());

            Console.Write("Podaj długość boku b: ");
            b = Convert.ToDouble(Console.ReadLine());

            Console.Write("Podaj długość boku c: ");
            c = Convert.ToDouble(Console.ReadLine());

            if (a + b > c && a + c > b && c + b > a)
            {
                Console.WriteLine("Podane liczby tworzą trójkąt.");
            }
            if ((a * a + b * b == c * c) || (a * a + c * c == b * b) || (c * c + b * b == a * a))
            { 
                Console.WriteLine("Jest to trójkąt prostokątny.");
            }
            if (a == b && a == c && c == b)
            {
                Console.WriteLine("Jes to trójkąt równoboczny.");
            }
            else if ((a == b && a + b > c) && (a == c && a + c > b) && (b == c && b + c > a))
            {
                Console.WriteLine("Jest to trójkąt równoramienny.");
            }
            else
            {
                Console.WriteLine("Z boków o podanej długośći nie da się zbudować trójkąta. ");
            }
            Console.ReadKey(true);
        }
    }
}
1

Przenieś klamrę z linijki 21 przed ostatnie else.

Kod musi być tak podzielony, że pierwszy if sprawdza, czy to jest trójkąt, więc odpowiadający mu else musi stwierdzić, że to nie jest trójkąt.
Dopiero, gdy wiesz, że to jest trójkąt, możesz sprawdzać jaki to typ trójkąta.

Poza tym masz zły warunek do trójkąta równoramiennego.

1 użytkowników online, w tym zalogowanych: 0, gości: 1