123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328 |
- using System;
- using System;
- using System.Diagnostics;
- using System.IO;
- class Program{
- public string[] product;
- public double brakPN10 = 0;
- public double brakPN16 = 0;
- public double brakPN20 = 0;
- public double brakPN25 = 0;
- public double PN10 = 0;
- public double PN16 = 0;
- public double PN20 = 0;
- public double PN25 = 0;
- public static void Main()
- {
- TextWriterTraceListener[] listeners = new TextWriterTraceListener[] {
- new TextWriterTraceListener($"{Directory.GetCurrentDirectory()}/debug.txt")
- };
- Trace.Listeners.AddRange(listeners);
-
- Console.ReadKey();
- Program obj = new Program();
- obj.Readdatas();
- obj.CheckProduct();
-
- }
-
- public void Readdatas()//метод для ситывания из файла
- {
- string[] lines = File.ReadAllLines(@"\\main\RDP\31П\КарзиновВА\Desktop\data.txt");
- Trace.WriteLine("данные считанны");
- product = new string[lines.Length];
- foreach (string s in lines)
- {
-
- }
- for (int i = 0; i < lines.Length; i++)
- {
- product[i] = lines[i];
-
- }
- }
- public void CheckProduct()// метод для вызова других методов через массив для проверки брака, нахождения процента брака и веса каждого изделия
- {
- Program obj = new Program();
- string line= "";
- string[] checking = product[0].Split(';');
- for (int i = 0; i < product.Length; i++)
- {
- checking = product[i].Split(';');
- obj.CheckBrak(checking);//проверка на брак
- }
- Trace.WriteLine("Осуществлена проверка на брак");
- foreach (string s in checking)
- {
-
- line += s + " ";
-
- }
- obj.ProcentBrak();// вывод процента
- Trace.WriteLine("Осуществлена вывод процента");
- for (int i = 0; i < product.Length; i++)
- {
- checking = product[i].Split(';');
- Console.WriteLine( line + " вес равен" + obj.weights(checking));// вывод dtcf
- }
- Trace.WriteLine("Осуществлена вывод веса");
- Trace.Flush();
- }
- public void CheckBrak(string[] myArray)//првоерка на брак
- {
- double lengts = 0;
- double vnDiametr = 0;
- double tolSten = 0;
- double min = 0;
- double max = 0;
- string line = "";
- //значения для проверки выхода за длину
- int minLengh = 3960;
- int maxLengh = 4040;
- //значения для проверки выхода за внешний диаметр
-
- switch (myArray[0])
- {
- case "PN10":
- PN10++;
- foreach (string s in myArray)
- {
- line += s + " ";
- }
- lengts = Double.Parse(myArray[1]);
- vnDiametr = Double.Parse(myArray[2]);
- tolSten = Double.Parse(myArray[3]);
- min = (vnDiametr / 100) * 10;
- max = (vnDiametr / 100) * 11;
- //проверка внешнего даметра
-
- // проверка толщины
- if (tolSten >= min & tolSten <= max)
- {
- // проверка длины
- if (lengts >= minLengh & lengts <= maxLengh)
- {
- Console.WriteLine(line + " -> соответствует");
- }
- else
- {
- brakPN10++;
- Console.WriteLine($" {line} -> несоответствует длина {lengts} не входит в диапазон толщина {tolSten} и внешний диаметр{vnDiametr} не входит в диапазон");
-
- }
- }
- else
- {
- brakPN10++;
- if (lengts >= minLengh & lengts <= maxLengh)
- {
- Console.WriteLine($" {line} -> несоответствует толщина {tolSten} и внешний диаметр {vnDiametr} не входит в диапазон");
- }
- else
- {
- Console.WriteLine($" {line} -> несоответствует длина {lengts} не входит в диапазон толщина {tolSten} и внешний диаметр{vnDiametr} не входит в диапазон");
- }
- }
-
-
- break;
- case "PN16":
- PN16++;
- foreach (string s in myArray)
- {
- line += s + " ";
- }
- lengts = Double.Parse(myArray[1]);
- vnDiametr = Double.Parse(myArray[2]);
- tolSten = Double.Parse(myArray[3]);
- min = (vnDiametr / 100) * 13.5;
- max = (vnDiametr / 100) * 14;
-
- if (tolSten >= min & tolSten <= max)
- {
- if (lengts >= minLengh & lengts <= maxLengh)
- {
- Console.WriteLine(line + " -> соответствует");
- }
- else
- {
- brakPN16++;
- Console.WriteLine($" {line} -> несоответствует длина {lengts} не входит в диапазон толщина {tolSten} и внешний диаметр{vnDiametr} не входит в диапазон");
- }
- }
- else
- {
- brakPN16++;
- if (lengts >= minLengh & lengts <= maxLengh)
- {
- Console.WriteLine($" {line} -> несоответствует толщина {tolSten} и внешний диаметр {vnDiametr} не входит в диапазон");
- }
- else
- {
- Console.WriteLine($" {line} -> несоответствует длина {lengts} не входит в диапазон толщина {tolSten} и внешний диаметр{vnDiametr} не входит в диапазон");
- }
- }
-
-
- break;
- case "PN20":
- PN20++;
- foreach (string s in myArray)
- {
- line += s + " ";
- }
- lengts = Double.Parse(myArray[1]);
- vnDiametr = Double.Parse(myArray[2]);
- tolSten = Double.Parse(myArray[3]);
- min = (vnDiametr / 100) * 16.5;
- max = (vnDiametr / 100) * 17;
-
- if (tolSten >= min & tolSten <= max)
- {
- if (lengts >= minLengh & lengts <= maxLengh)
- {
- Console.WriteLine(line + " -> соответствует");
- }
- else
- {
- brakPN20++;
- Console.WriteLine($" {line} -> несоответствует длина {lengts} не входит в диапазон толщина {tolSten} и внешний диаметр{vnDiametr} не входит в диапазон");
- }
- }
- else
- {
- brakPN20++;
- if (lengts >= minLengh & lengts <= maxLengh)
- {
- Console.WriteLine($" {line} -> несоответствует толщина {tolSten} и внешний диаметр {vnDiametr} не входит в диапазон");
- }
- else
- {
- Console.WriteLine($" {line} -> несоответствует длина {lengts} не входит в диапазон толщина {tolSten} и внешний диаметр{vnDiametr} не входит в диапазон");
- }
- }
-
- break;
- case "PN25":
- PN25++;
- foreach (string s in myArray)
- {
- line += s + " ";
- }
- lengts = Double.Parse(myArray[1]);
- vnDiametr = Double.Parse(myArray[2]);
- tolSten = Double.Parse(myArray[3]);
- min = (vnDiametr / 100) * 16.5;
- max = (vnDiametr / 100) * 17;
-
- if (tolSten >= min & tolSten <= max)
- {
- if (lengts >= minLengh & lengts <= maxLengh)
- {
- Console.WriteLine(line + " -> соответствует");
- }
- else
- {
- brakPN25++;
- Console.WriteLine($" {line} -> несоответствует длина {lengts} не входит в диапазон толщина {tolSten} и внешний диаметр{vnDiametr} не входит в диапазон");
- }
- }
- else
- {
- brakPN25++;
- if (lengts >= minLengh & lengts <= maxLengh)
- {
- Console.WriteLine($" {line} -> несоответствует толщина {tolSten} и внешний диаметр {vnDiametr} не входит в диапазон");
- }
- else
- {
- Console.WriteLine($" {line} -> несоответствует длина {lengts} не входит в диапазон толщина {tolSten} и внешний диаметр{vnDiametr} не входит в диапазон");
- }
- }
-
- break;
- }
- }
- public void ProcentBrak()//подсчет процентов
- {
- double procPN10 = 0;
- double procPN16 = 0;
- double procPN20 = 0;
- double procPN25 = 0;
- //формула для прцоентов
- procPN10 = ((double)((brakPN10 / PN10) * 100));
- Console.WriteLine("Процент брака PN10 составляет" + procPN10);
- procPN16 = ((double)((brakPN16 / PN16) * 100));
- Console.WriteLine("Процент брака PN16 составляет" + procPN16);
- procPN20 = ((double)((brakPN20 / PN20) * 100));
- Console.WriteLine("Процент брака PN20 составляет" + procPN20);
- procPN25 = ((double)((brakPN25 / PN25) * 100));
- Console.WriteLine("Процент брака PN25 составляет" + procPN25);
- }
- public double weights(string[] myArray)//нахождение веса
- {
- double mass = 0;
- double plotNoA = 0.91 ;
- double plotA = 1.24 ;
- double S = Double.Parse(myArray[3]);
- double D = Double.Parse(myArray[2]);
- double L = Double.Parse(myArray[1]);
- if (myArray.Length == 5)
- {
- mass = Math.PI * plotA * S * (D - S) * L;
- }
- else mass = Math.PI * plotNoA * S * (D - S) * L;
- return mass;
- }
- }
|