|
@@ -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;
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
}
|