Beispiel #1
0
 static string FindValue(double A, double B, double Alfa, Triangle t)
 {
     string s1 = t.SetA(A);
     if (s1 == "ok")
     {
         string s2 = t.SetB(B);
         if (s2 == "ok")
         {
             string s3 = t.SetAlfa(Alfa);
             if (s3 == "ok")
             {
                 t.FindC();
                 t.FindBeta(); 
                 t.FindLast();
                 return "ok";
             }
             else
                 return s3;
         }
         else
             return s2;
     }
     else
         return s1;
 }
Beispiel #2
0
        public void FigureTriangleIsValidationTest_False( )
        {
            var a        = 5;
            var b        = 3;
            var c        = 1;
            var triangle = new Triangle.Triangle(a, b, c);

            Assert.IsFalse(FigureValidator.IsTriangle(triangle));
        }
Beispiel #3
0
        public void TestMethod_C1()                 // для FindC()
        {
            Triangle.Triangle tr = new Triangle.Triangle();
            tr.SetA(3);
            tr.SetB(4);
            tr.SetAlfa(90);

            tr.FindC();
            double c = tr.GetC();
            Assert.AreEqual(5, c, 0.01);
        }
Beispiel #4
0
        public void TestMethod_Gam2()                 // для FindLast()
        {
            Triangle.Triangle tr = new Triangle.Triangle();
            tr.SetA(1);
            tr.SetB(6);
            tr.SetAlfa(110);

            tr.FindLast();
            double gam = tr.GetGamma();
            Assert.AreEqual(61.57, gam, 0.01);
        }
Beispiel #5
0
        public void TestMethod_C2()                 // для FindC()
        {
            Triangle.Triangle tr = new Triangle.Triangle();
            tr.SetA(1);
            tr.SetB(6);
            tr.SetAlfa(110);

            tr.FindC();
            double c = tr.GetC();
            Assert.AreEqual(6.41, c, 0.01);
        }
Beispiel #6
0
        public void TestMethod_Bet1()                 // для FindBeta()
        {
            Triangle.Triangle tr = new Triangle.Triangle();
            tr.SetA(3);
            tr.SetB(4);
            tr.SetAlfa(90);

            tr.FindBeta();
            double bet = tr.GetBeta();
            Assert.AreEqual(36.87, bet, 0.01);
        }
Beispiel #7
0
        public void TestMethod_Bet2()                 // для FindBeta()
        {
            Triangle.Triangle tr = new Triangle.Triangle();
            tr.SetA(1);
            tr.SetB(6);
            tr.SetAlfa(110);

            tr.FindBeta();
            double bet = tr.GetBeta();
            Assert.AreEqual(8.43, bet, 0.01);
        }
Beispiel #8
0
        public void TestMethod_Gam1()                 // для FindLast()
        {
            Triangle.Triangle tr = new Triangle.Triangle();
            tr.SetA(3);
            tr.SetB(4);
            tr.SetAlfa(90);

            tr.FindLast();
            double gam = tr.GetGamma();
            Assert.AreEqual(53.13, gam, 0.01);
        }
 public static void Main(string[] args)
 {
     Triangle T = new Triangle ();
     int a;
     int b;
     int c;
     Console.WriteLine ("Enter side 1:");
     a = int.Parse (Console.ReadLine ());
     Console.WriteLine ("Enter side 2:");
     b = int.Parse (Console.ReadLine ());
     Console.WriteLine ("Enter side 3:");
     c = int.Parse (Console.ReadLine ());
     T.setSides (a, b, c);
     Console.WriteLine ("triangle type is: {0}", T.getType());
 }
Beispiel #10
0
        static void Main(string[] args)
        {
            Console.Write("Enter Side A  triangle: ");
            float a = float.Parse(Console.ReadLine());
            Console.Write("Enter Side B of a right triangle: ");
            float b = float.Parse(Console.ReadLine());

            Console.WriteLine();
            Triangle Triangle = new Triangle(a, b);
            Triangle.SideA = a;
            Triangle.SideB = b;
            Triangle.CalculateHypotenuse(a, b);
            Triangle.CalculateAngles(a, b);
            Console.WriteLine();
        }
Beispiel #11
0
        public static void Main()
        {
            var n         = GetInt("N = ", x => x > 0, "That is not a valid integer, larger than 0.");
            var triangles = new Triangle.Triangle[n];

            for (var i = 0; i < n; i++)
            {
                triangles[i]   = new Triangle.Triangle();
                triangles[i].A = rand.NextDouble() * 29 + 1;
                triangles[i].B = rand.NextDouble() * 29 + 1;
            }

            try {
                var stream = new FileStream("../../../triangles.xml", FileMode.Create);

                var format = new XmlSerializer(typeof(Triangle.Triangle[]));

                format.Serialize(stream, triangles);
            } catch {
                Console.WriteLine("There was an error writing the file.");
            }
        }
Beispiel #12
0
        //считывает строку, если все ок - записывает в файл результат
        //выводит инфо в лог
        static void ReadNextLine(StreamReader sr, StreamWriter sw)
        {
            if(!sr.EndOfStream)
            { 
                double a = 0, b = 0, c = 0, alf = 0, bet = 0, gam = 0;
                Triangle t = new Triangle();
                string fine_read = "ok";
                string line = sr.ReadLine();
                try
                {
                    char[] ch = new char[1] { ';' };
                    string[] value = line.Split(ch);

                    a = Convert.ToDouble(value[0]);
                    b = Convert.ToDouble(value[1]);
                    alf = Convert.ToDouble(value[2]);
                }
                catch 
                {
                    fine_read = "incorrect string " + line;
                }
                if (fine_read == "ok")
                {
                    string res = FindValue(a, b, alf, t);
                    if (res == "ok")
                    {
                        c = t.GetC();
                        bet = t.GetBeta();
                        gam = t.GetGamma();
                        sw.WriteLine(a.ToString("0.000") + ';' + b.ToString("0.000") + ';' + c.ToString("0.000"));
                        Console.WriteLine("betta = {0:0.000}grad.; gamma = {1:0.000}grad.", bet, gam);
                    }
                    else
                        Console.WriteLine(res);
                }
                else
                    Console.WriteLine(fine_read);
            }
        }
Beispiel #13
0
 public static bool IsIsosceles(Triangle triangle)
 {
     return(Math.Abs(triangle.A - triangle.B) < AcceptableDelta ||
            Math.Abs(triangle.B - triangle.C) < AcceptableDelta ||
            Math.Abs(triangle.A - triangle.C) < AcceptableDelta);
 }
Beispiel #14
0
        static void Main(string[] args)
        {
            Triangle[] mass = new Triangle[5];

            Point p10 = new Point(1, 0);
            Point p20 = new Point(1, 5);
            Point p30 = new Point(6, 0);

            mass[0] = new Triangle(p10, p20, p30);

            Point p11 = new Point(0, 1);
            Point p21 = new Point(6, 1);
            Point p31 = new Point(3, 10);

            mass[1] = new Triangle(p11, p21, p31);

            Point p12 = new Point(0, 0);
            Point p22 = new Point(0, 7);
            Point p32 = new Point(5, 0);

            mass[2] = new Triangle(p12, p22, p32);

            Point p13 = new Point(2, 1);
            Point p23 = new Point(10, 1);
            Point p33 = new Point(6, 12);

            mass[3] = new Triangle(p13, p23, p33);

            Point p14 = new Point(3, 3);
            Point p24 = new Point(3, 7);
            Point p34 = new Point(9, 3);

            mass[4] = new Triangle(p14, p24, p34);


            double count_rights = 0;        // кол-во прямоугольных треугольников
            double sum_perim    = 0;

            for (int i = 0; i < mass.Length; i++)
            {
                if (mass[i].Right())
                {
                    count_rights++;
                    sum_perim += mass[i].Perimetr();
                    Console.WriteLine("треугольник {0} - прямоугольный, его периметр = {1}", i, mass[i].Perimetr());
                }
            }
            Console.WriteLine("кол-во прямоугольных треугольников = {0}", count_rights);
            double middle_perim = 0;

            middle_perim = sum_perim / count_rights; // средний периметр прямоугольных треугольников
            Console.WriteLine("средний периметр = {0}", middle_perim);

            double count_isosceles = 0;
            double sum_area        = 0;

            for (int i = 0; i < mass.Length; i++)
            {
                if (mass[i].Isosceles())
                {
                    count_isosceles++;
                    sum_area += mass[i].Area();
                    Console.WriteLine("треугольник {0} - равнобедренный, его площадь = {1}", i, mass[i].Area());
                }
            }
            Console.WriteLine("кол-во равнобедренных треугольников = {0}", count_isosceles);
            double middle_area = 0;

            middle_area = sum_area / count_isosceles; // средняя площадь равнобедренных треугольников
            Console.WriteLine("средняя площадь = {0}", middle_area);
            Console.ReadKey();
        }
Beispiel #15
0
 public static bool IsItPossibleToBuildTriangle(Triangle triangle)
 {
     return(triangle.A + triangle.B - triangle.C > AcceptableDelta &&
            triangle.B + triangle.C - triangle.A > AcceptableDelta &&
            triangle.A + triangle.C - triangle.B > AcceptableDelta);
 }
Beispiel #16
0
 public static string QualifyTriangle(Triangle triangle)
 {
     return(IsEquilateral(triangle) ? "equilateral"
         : IsIsosceles(triangle) ? "isosceles"
         : "regular");
 }
Beispiel #17
0
        public void TestMethod_Gam1_not2()                 // для FindLast() с некорректными данными
        {
            Triangle.Triangle tr = new Triangle.Triangle();
            tr.SetA(3);
            tr.SetB(-4);
            tr.SetAlfa(181);

            tr.FindLast();
            double gam = tr.GetGamma();
            Assert.AreEqual(53.13, gam, 0.01);
        }
Beispiel #18
0
        public void TestMethod_Bet1_not2()                 // для FindBeta() с некорректными данными
        {
            Triangle.Triangle tr = new Triangle.Triangle();
            tr.SetA(3);
            tr.SetB(4);
            tr.SetAlfa(200);

            tr.FindBeta();
            double bet = tr.GetBeta();
            Assert.AreEqual(36.87, bet, 0.01);
        }
Beispiel #19
0
        public void TestMethod_C1_not2()                 // для FindC() с некорректными данными
        {
            Triangle.Triangle tr = new Triangle.Triangle();
            tr.SetA(-3);
            tr.SetB(4);
            tr.SetAlfa(90);

            tr.FindC();
            double c = tr.GetC();
            Assert.AreEqual(5, c, 0.01);
        }
Beispiel #20
0
 public SidesTriangle(Triangle triangle)
 {
     BigSide = triangle.GetMaxSide(out FirstSmallSide, out SecondSmallSide);
 }
Beispiel #21
0
 public static bool IsEquilateral(Triangle triangle)
 {
     return(Math.Abs(triangle.A - triangle.B) < AcceptableDelta &&
            Math.Abs(triangle.B - triangle.C) < AcceptableDelta);
 }
Beispiel #22
0
        public void TestMethod_C1_not1()                 // для FindC() с неверным результатом
        {
            Triangle.Triangle tr = new Triangle.Triangle();
            tr.SetA(3);
            tr.SetB(4);
            tr.SetAlfa(90);

            tr.FindC();
            double c = tr.GetC();
            Assert.AreEqual(56, c, 0.01);
        }
Beispiel #23
0
        public void TestMethod_Bet1_not1()                 // для FindBeta() с неверным результатом
        {
            Triangle.Triangle tr = new Triangle.Triangle();
            tr.SetA(3);
            tr.SetB(4);
            tr.SetAlfa(90);

            tr.FindBeta();
            double bet = tr.GetBeta();
            Assert.AreEqual(14, bet, 0.01);
        }
Beispiel #24
0
        public void TestMethod_Gam1_not1()                 // для FindLast() с неверным результатом
        {
            Triangle.Triangle tr = new Triangle.Triangle();
            tr.SetA(3);
            tr.SetB(4);
            tr.SetAlfa(90);

            tr.FindLast();
            double gam = tr.GetGamma();
            Assert.AreEqual(41, gam, 0.01);
        }
Beispiel #25
0
        static void Main(string[] args)
        {
            string str;
            byte   num      = 0;
            int    error    = -1;
            bool   numbered = true;

            Console.Clear();
            while (true)
            {
                Output.Print("b", "g", "\n ОТРИСОВКА ТРЕУГОЛЬНИКА ИЗ ЗАДАННОГО КОЛЛИЧЕСТВА СТРОК \n");

                if (error == 1)
                {
                    Output.Print("r", "", new string[]
                                 { "К вводу допускаются целые положительные числа [0 < вводимое число < 256] или фраза 'exit'!!!\n",
                                   "25 строк полностью умещаются в окно командной строки стандартного размера.",
                                   "Треугольник размером до 115 строк корректно отрисовывается в окне командной строки стандартного размера." });
                }
                else if (error == 0)
                {
                    Triangle triangle = new Triangle(num);
                    triangle.Draw(numbered);
                }

                Console.Write("\nВведите \"exit\", \"s\" для смены отрисовки ИЛИ колличество строк для ОТРИСОВКИ треугольника:  ");
                str = Console.ReadLine().Trim().ToLower();

                // Осуществим предварительную проверку ввода на пустую строку или на наличие команды выхода:
                if (str == "exit")
                {
                    Console.Clear(); break;
                }
                else if (str == "")
                {
                    Console.Clear(); continue;
                }
                else if (str == "s")
                {
                    if (numbered)
                    {
                        numbered = false;
                    }
                    else
                    {
                        numbered = true;
                    }
                }
                else                  // Осуществим дальнейшую обработку ввода:
                {
                    if (Byte.TryParse(str, out num) && num != 0)
                    {
                        error = 0;
                    }
                    else
                    {
                        error = 1;
                    }
                }
                Console.Clear();
            }
        }