GSO-SW / BFT22MultiTool

Ein Multitool um naturwissenschaftliche Fragen zu beantworten.
1 stars 0 forks source link

Feature 22 (Flächenberechnug) #158

Closed NicoGeno closed 1 year ago

NicoGeno commented 1 year ago

using System;

class Program { static void Main(string[] args) { bool isRunning = true; while (isRunning) { Console.Clear(); Console.WriteLine("Flächenberechnung "); Console.WriteLine("~~~~~~ Press [x] to Exit"); Console.WriteLine("Bitte wählen Sie eine Form aus:"); Console.WriteLine(); Console.WriteLine(" 1. Rechteck"); Console.WriteLine(" 2. Quadrat"); Console.WriteLine(" 3. Parallelogramm"); Console.WriteLine(" 4. Trapez"); Console.WriteLine(" 5. Raute"); Console.WriteLine(" 6. Sehnenviereck"); Console.WriteLine(" 7. Tangentenviereck"); Console.WriteLine(" 8. Viereck"); Console.WriteLine(" 9. Dreieck"); Console.WriteLine("10. gleichschenkliges Dreieck"); Console.WriteLine("11. gleichseitiges Dreieck"); Console.WriteLine("12. n-Eck"); Console.WriteLine("13. Belibiges Vieleck"); Console.WriteLine("14. Kreis"); Console.WriteLine("15. Elipse"); Console.WriteLine();

        string input = Console.ReadLine();

        switch (input)
        {
            case "1":
                Console.Clear();
                Console.Write("Bitte geben Sie die Breite des Rechtecks ein: ");
                double Rechteck_B = double.Parse(Console.ReadLine());
                Console.Write("Bitte geben Sie die Höhe des Rechtecks ein: ");
                double Rechteck_H = double.Parse(Console.ReadLine());
                double fläche = Rechteck_B * Rechteck_H;
                Console.WriteLine($"Die fläche des Rechtecks Beträgt: {fläche}");
                break;
            case "2":
                Console.Clear();
                Console.Write("Bitte geben Sie a an: ");
                double aaa = double.Parse(Console.ReadLine());
                fläche = aaa * aaa;
                Console.WriteLine($"Die fläche des Quadrats Beträgt: {fläche}");
                break;
            case "3":
                Console.Clear();
                Console.Write("Bitte geben Sie die Länge an: ");
                double drei_g = double.Parse(Console.ReadLine());
                Console.Write("Bitte geben Sie die Breite an: ");
                double drei_h = double.Parse(Console.ReadLine());
                fläche = drei_g * drei_h;
                Console.WriteLine($"Die flächedes Paralelogramms Beträgt: {fläche}");
                break;
            case "4":
                Console.Clear();
                Console.Write("Bitte geben Sie a an: ");
                double vier_a = double.Parse(Console.ReadLine());
                Console.Write("Bitte geben Sie b an: ");
                double vier_c = double.Parse(Console.ReadLine());
                Console.Write("Bitte geben Sie h an: ");
                double vier_h = double.Parse(Console.ReadLine());
                fläche = (vier_a * vier_c) * vier_h / 2;
                Console.WriteLine($"Die fläche des Trapez Beträgt: {fläche}");
                break;
            case "5":
                Console.Clear();
                Console.Write("Bitte geben Sie die Länge der Diagonalen ein: ");
                double f_a = double.Parse(Console.ReadLine());
                Console.Write("Bitte geben Sie die Länge der anderen Diagonalen ein : ");
                double f_b = double.Parse(Console.ReadLine());
                fläche = (f_a * f_b) / 2;
                Console.WriteLine($"Die fläche der Raute Beträgt: {fläche}");
                break;
            case "6":
                Console.Clear();
                Console.Write("Bitte geben Sie die Länge der ersten Seite an: ");
                double s_s = double.Parse(Console.ReadLine());
                Console.Write("Bitte geben Sie die Läng der 2 Seite an: ");
                double s_a = double.Parse(Console.ReadLine());
                Console.Write("Bitte geben Sie den Abstand der beiden seiten an: ");
                double s_b = double.Parse(Console.ReadLine());
                fläche = s_s * s_a * s_b / (4 * s_b * s_b + (s_s - s_a) * (s_s - s_b));
                Console.WriteLine($"Die fläche des Sehnenvierecks Beträgt: {fläche}");
                break;
            case "7":
                Console.Clear();
                Console.Write("Bitte geben Sie a an: ");
                double ss_u = double.Parse(Console.ReadLine());
                Console.Write("Bitte geben Sie b an: ");
                double ss_r = double.Parse(Console.ReadLine());
                Console.Write("Bitte geben Sie c an: ");
                double ss_a = double.Parse(Console.ReadLine());
                Console.Write("Bitte geben Sie d an: ");
                double ss_b = double.Parse(Console.ReadLine());
                double s1 = (ss_u + ss_r + ss_a + ss_b) / 2;
                double area = Math.Sqrt((s1 - ss_u) * (s1 - ss_r) * (s1 - ss_a) * (s1 - ss_b));
                Console.WriteLine($"Die fläche des Tangentenvierecks Beträgt:" + area);
                break;
            case "8":
                Console.Clear();
                Console.Write("Bitte geben Sie a an: ");
                double a_s = double.Parse(Console.ReadLine());
                Console.Write("Bitte geben Sie b an: ");
                double a_b = double.Parse(Console.ReadLine());
                Console.Write("Bitte geben Sie c an: ");
                double a_c = double.Parse(Console.ReadLine());
                Console.Write("Bitte geben Sie d an: ");
                double a_d = double.Parse(Console.ReadLine());
                fläche = a_s * a_b * a_c;
                Console.WriteLine($"Die fläche des Vierecks Beträgt: {fläche}");
                break;
            case "9":
                Console.Clear();
                double a, b, c;
                Console.Write("Bitte geben Sie a an: ");
                a = Convert.ToDouble(Console.ReadLine());
                Console.Write("Bitte geben Sie b an: ");
                b = Convert.ToDouble(Console.ReadLine());
                Console.Write("Bitte geben Sie c an: ");
                c = Convert.ToDouble(Console.ReadLine());
                double s2 = (a + b + c) / 2;
                double area1 = Math.Sqrt(s2 * (s2 - a) * (s2 - b) * (s2 - c));
                Console.WriteLine($"Die fläche des Dreiecks Beträgt:" + area1);
                break;
            case "10":
                Console.Clear();
                Console.Write("Bitte geben Sie die Basis länge des Dreiecks an: ");
                double z_g = double.Parse(Console.ReadLine());
                Console.Write("Bitte geben Sie die Seitenlänge des Dreicks an: ");
                double z_h = double.Parse(Console.ReadLine());
                fläche = (z_g * z_h) / 2;
                Console.WriteLine($"Die fläche des Gleichschenkligen Dreiecks Beträgt: {fläche}");
                break;
            case "11":
                Console.Clear();
                double ssss;
                double flaeche;
                Console.Write("Bitte geben Sie die länge des Gleichseitigen Dreieck an: ");
                ssss = Convert.ToDouble(Console.ReadLine());
                flaeche = (Math.Sqrt(3) / 4) * Math.Pow(ssss, 2);
                Console.WriteLine($"Die fläche des Gleichseitigen Dreieck Beträgt: {flaeche}");
                break;
            case "12":
                Console.Clear();
                Console.Write("Bitte geben Sie a an: ");
                double zw_a = double.Parse(Console.ReadLine());
                Console.Write("Bitte geben Sie b an: ");
                double zw_b = double.Parse(Console.ReadLine());
                Console.Write("Bitte geben Sie h an: ");
                double zw_h = double.Parse(Console.ReadLine());
                fläche = ((zw_a + zw_b) / 2) * zw_h;
                Console.WriteLine($"Die fläche des n-ecks Beträgt: {fläche}");
                break;
            case "13":
                Console.Clear();
                Console.WriteLine("Geben Sie die Anzahl der Eckpunkte ein:");
                int n = int.Parse(Console.ReadLine());

                double[,] points = new double[n, 2];
                for (int i = 0; i < n; i++)
                {
                    Console.WriteLine($"Geben Sie die Koordinaten des Eckpunkts {i + 1} ein (x,y):");
                    string[] input2 = Console.ReadLine().Split(',');
                    points[i, 0] = double.Parse(input2[0]);
                    points[i, 1] = double.Parse(input2[1]);
                }
                double area2 = 0.0;
                int j = n - 1;
                for (int i = 0; i < n; i++)
                {
                    area2 += (points[j, 0] + points[i, 0]) * (points[j, 1] - points[i, 1]);
                    j = i;
                }
                area2 = Math.Abs(area2 / 2.0);
                Console.WriteLine($"Der Flächeninhalt des vielecks beträgt {area2}");
                break;
            case "14":
                Console.Clear();
                Console.Write("Bitte geben Sie r an: ");
                double vz_r = double.Parse(Console.ReadLine());
                fläche = Math.PI * vz_r * vz_r;
                Console.WriteLine($"Die fläche des Kreises Beträgt: {fläche}");
                break;
            case "15":
                Console.Clear();
                Console.Write("Bitte geben Sie die länge der Großen Halbachse ein: ");
                double aa_a = double.Parse(Console.ReadLine());
                Console.Write("Bitte geben Sie die länge der kleinen Halbachse ein: ");
                double aa_b = double.Parse(Console.ReadLine());
                fläche = Math.PI * aa_a * aa_b;
                Console.WriteLine($"Die fläche der Elipse Beträgt: {fläche}");
                break;
                break;
            case "x":
                Console.Clear();
                Console.WriteLine("Das Programm wird beendet...");
                isRunning = false;
                break;
            default:
                Console.WriteLine("Ungültige Eingabe. Bitte geben Sie eine gültige Option ein oder drücken Sie 'x', um das Programm zu beenden.");
                Console.ReadKey();
                break;
        }

        Console.WriteLine();
    }
}

}