C# :: Aufgabe #261 :: Lösung #1

5 Lösungen Lösungen öffentlich
#261

Alle Winkel von einem Dreieck ausrechnen...

Fortgeschrittener - C# von maxi72501 - 06.05.2019 um 15:01 Uhr
Gegeben sind alle Koordinaten. Die Punkte A und B gibt der Benutzer ein und die C Koordinate ist der Koordinaten Ursprung (0, 0).
Anhand der Seiten soll der Flächeninhalt und alle Winkel berechnet werden.
#1
1x
vote_ok
von Kotgreifer (1100 Punkte) - 08.05.2019 um 16:12 Uhr
Quellcode ausblenden C#-Code
using System;

namespace DreieckRechner
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("A x: ");
            double Ax;
            double.TryParse(Console.ReadLine(), out Ax);

            Console.Write("A y: ");
            double Ay;
            double.TryParse(Console.ReadLine(), out Ay);


            Console.Write("B x: ");
            double Bx;
            double.TryParse(Console.ReadLine(), out Bx);

            Console.Write("B y: ");
            double By;
            double.TryParse(Console.ReadLine(), out By);


            Console.Write("C x: ");
            double Cx;
            double.TryParse(Console.ReadLine(), out Cx);

            Console.Write("C y: ");
            double Cy;
            double.TryParse(Console.ReadLine(), out Cy);


            double a = Math.Sqrt(Math.Pow(Bx - Cx, 2) + Math.Pow(By - Cy, 2));
            double b = Math.Sqrt(Math.Pow(Ax - Cx, 2) + Math.Pow(Ay - Cy, 2));
            double c = Math.Sqrt(Math.Pow(Ax - Bx, 2) + Math.Pow(Ay - By, 2));

            a = Math.Round(a, 3);
            b = Math.Round(b, 3);
            c = Math.Round(c, 3);

            Console.WriteLine("\n-------------------\nLängen: \na= " + a + " cm \nb= " + b + " cm \nc= " + c + " cm\n-------------------\n");

            

            
            double winkelA = Math.Round((180 / Math.PI) * Math.Acos((Math.Pow(b, 2) + Math.Pow(c, 2) - Math.Pow(a, 2)) / (2 * b * c)), 3);
            double winkelB = Math.Round((180 / Math.PI) * Math.Acos((Math.Pow(a, 2) + Math.Pow(c, 2) - Math.Pow(b, 2)) / (2 * a * c)), 3);
            double winkelC = 180 - winkelA - winkelB;

            Console.WriteLine("\n-------------------\nWinkel: \nAplpha= " + winkelA + " Grad \nBeta= " +winkelB +" Grad \nGamma= "+winkelC+ " Grad\n-------------------\n");


            double u = a + b + c;

            double fläche = Math.Round((Math.Sqrt(u / 2 * (u / 2 - a) * (u / 2 - b) * (u / 2 - c))), 3);
            Console.WriteLine("\n-------------------\nUmfang=  " + u + " cm\nFläche= " + fläche+ " cm*2\n-------------------");


           
            Console.Read();





        }
    }
}


Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben