Browse Source

Создана проверка продукции

unknown 2 years ago
parent
commit
45001d3ce3

BIN
ПроверкаПродукции/.vs/ПроверкаПродукции/v17/.suo


+ 63 - 9
ПроверкаПродукции/ПроверкаПродукции/Decision.cs

@@ -24,15 +24,13 @@ namespace ПроверкаПродукции
         }
         public void proverkaBrak() // Проверка на брак
         {
+            brak = new int[0];
             for (int i = 0; i < vhod.GetLength(0); i++)
             {
-                for (int j = 0; j < vhod.GetLength(1); j++)
+                if ((Convert.ToDouble(4000) - Convert.ToDouble(vhod[i, 1])) > GetDlinProd() || Math.Abs(Math.Round(Convert.ToDouble(vhod[i, 2])) - Convert.ToDouble(vhod[i, 2])) > GetDiametrProd(Math.Round(Convert.ToDouble(vhod[i, 2]))) || ProverkaShirin(vhod[i, 0], Convert.ToDouble(vhod[i, 2])) == true)
                 {
-                    if ((Convert.ToDouble(4000) - Convert.ToDouble(vhod[i, 1])) > GetDlinProd() || ProverkaShirin(vhod[i, 2]) == true)
-                    {
-                        Array.Resize(ref brak, brak.Length + 1);
-                        brak[brak.Length - 1] = i;
-                    }
+                    Array.Resize(ref brak, brak.Length + 1);
+                    brak[brak.Length - 1] = i;
                 }
             }
         }
@@ -42,10 +40,66 @@ namespace ПроверкаПродукции
             return pogr;
                  
         }
-        public double ProverkaShirin() // Проверка шиирины изделия
+        public double GetDiametrProd(double a) // Допуск диаметра
         {
-            if()
+            double d = a / 100 * 1;
+            return d;
+        }
+        public bool ProverkaShirin(string prod, double shirina) // Проверка ширины изделия
+        {
+            if(prod == "PN10")
+            {
+                if(Math.Round(Convert.ToDouble(shirina))/100*10 > Math.Round(Convert.ToDouble(shirina) - shirina) && Math.Round(Convert.ToDouble(shirina)) / 100 * 11 < Math.Round(Convert.ToDouble(shirina) - shirina))
+                {
+                    return true;
+                }
+            }
+            if (prod == "PN16")
+            {
+                if (Math.Round(Convert.ToDouble(shirina)) / 100 * 13.5 > Math.Round(Convert.ToDouble(shirina) - shirina) && Math.Round(Convert.ToDouble(shirina)) / 100 * 14 < Math.Round(Convert.ToDouble(shirina) - shirina))
+                {
+                    return true;
+                }
+            }
+            if (prod == "PN20" || prod == "PN2")
+            {
+                if (Math.Round(Convert.ToDouble(shirina)) / 100 * 16.5 > Math.Round(Convert.ToDouble(shirina) - shirina) && Math.Round(Convert.ToDouble(shirina)) / 100 * 17 < Math.Round(Convert.ToDouble(shirina) - shirina))
+                {
+                    return true;
+                }
+            }
+            return false;
+        }
+        public void ShowBrak() // Метод для вывода детели с указанием брака
+        {
+            Console.WriteLine("Проверенная продукция: ");
+            for (int i = 0; i < vhod.GetLength(0); i++)
+            {
+                for (int j = 0; j < vhod.GetLength(1); j++)
+                {
+                    Console.Write(vhod[i, j] + "\t");
+                }
+                if (ProverkaVhodBrak(i) == true)
+                {
+                    Console.Write(" - Не соответствует" + "\t");
+                }
+                else
+                {
+                    Console.Write(" - Cоответствует" + "\t");
+                }
+                Console.WriteLine();
+            }
+        }
+        public bool ProverkaVhodBrak(int p) // Проверка вхождения детали в список бракованных
+        {
+            for (int i = 0; i < brak.Length; i++)
+            {
+                if (brak[i] == p)
+                {
+                    return true;
+                }
+            }
+            return false;
         }
-
     }
 }

+ 4 - 1
ПроверкаПродукции/ПроверкаПродукции/Program.cs

@@ -18,7 +18,10 @@ namespace ПроверкаПродукции
                 fileWork.VvodNameFile(); // Выбор файла источника
                 decision.vhod = fileWork.GetData(); // Взяттие входных данных
                 decision.ShowVhodData(); // Вывод входных данных
-                //decision.proverkaBrak(); // Проверка на брак
+                Console.ReadKey();
+                decision.proverkaBrak(); // Проверка на брак
+                decision.ShowBrak(); // Вывод детали с указанием соответсвия
+                Console.ReadKey();
                 char otv; // Переменная для диалога с пользователем
                 while (true)
                 {

BIN
ПроверкаПродукции/ПроверкаПродукции/bin/Debug/ПроверкаПродукции.exe


BIN
ПроверкаПродукции/ПроверкаПродукции/bin/Debug/ПроверкаПродукции.pdb


BIN
ПроверкаПродукции/ПроверкаПродукции/obj/Debug/ПроверкаПродукции.exe


BIN
ПроверкаПродукции/ПроверкаПродукции/obj/Debug/ПроверкаПродукции.pdb