Program.cs 4.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. using System;
  2. using System.Diagnostics;
  3. using System.IO;
  4. using System.Text.RegularExpressions;
  5. namespace MyApp // Note: actual namespace depends on the project name.
  6. {
  7. internal class Program
  8. {
  9. public string path = @"data.txt"; // путь к файлу
  10. public string[] pipes; // массив для хранения всх строк
  11. public string[,] defect; // массив хранит значения по строкам и значениям для каждой строки
  12. /// <summary>
  13. /// считывание информации из файла
  14. /// </summary>
  15. /// <param name="path">имя файла для считывания</param>
  16. public void info(string path)
  17. {
  18. pipes = File.ReadAllLines(path);
  19. defect = new string[pipes.Length, 5];
  20. for (int i = 0; i < pipes.Length; i++)
  21. {
  22. string[] points = pipes[i].Split(";");
  23. for (int j = 0; j < points.Length; j++)
  24. {
  25. if (points.Length == 5)
  26. {
  27. }
  28. defect[i, j] = points[j];
  29. }
  30. }
  31. }
  32. public void read()
  33. {
  34. info(@"data.txt");
  35. for (int i = 0; i < pipes.Length; i++)
  36. {
  37. Console.Write("Название трубы: " + defect[i, 0]);
  38. Console.Write(" Длина трубы: " + defect[i, 1]);
  39. Console.Write(" Внешний диаметр: " + defect[i, 2]);
  40. Console.Write(" Толщина стенки: " + defect[i, 3]);
  41. Console.Write(" Армированность: " + defect[i, 4]);
  42. Console.WriteLine();
  43. }
  44. }
  45. public static void check(string[] defect) // определение дефекта
  46. {
  47. if ((Convert.ToDouble(defect[1]) >= 3960 && Convert.ToDouble(defect[1]) <= 4040) && ((Convert.ToDouble(defect[2]) == 20.2 && Convert.ToDouble(defect[2]) == 19.8)) || (Convert.ToDouble(defect[2]) == 25.25 && Convert.ToDouble(defect[2]) == 24.75) || Math.Round(Convert.ToDouble(defect[2])) == 32 || Math.Round(Convert.ToDouble(defect[2])) == 40 || Math.Round(Convert.ToDouble(defect[2])) == 50 || Math.Round(Convert.ToDouble(defect[2])) == 60)
  48. {
  49. if (defect[0] == "PN10" && (Convert.ToDouble(defect[1]) >= 3960 && Convert.ToDouble(defect[1]) <= 4040) && (Convert.ToDouble(defect[3]) >= ((Convert.ToDouble(defect[2]) / 100) * 10) && Convert.ToDouble(defect[3]) <= ((Convert.ToDouble(defect[2]) / 100) * 11)))
  50. {
  51. }
  52. else
  53. if (defect[0] == "PN16" && (Convert.ToDouble(defect[1]) >= 3960 && Convert.ToDouble(defect[1]) <= 4040) && (Convert.ToDouble(defect[3]) >= ((Convert.ToDouble(defect[2]) / 100) * 13.5) && Convert.ToDouble(defect[3]) <= ((Convert.ToDouble(defect[2]) / 100) * 14)))
  54. {
  55. }
  56. else
  57. if (defect[0] == "PN20" && (Convert.ToDouble(defect[3]) >= ((Convert.ToDouble(defect[2]) / 100) * 16.5) && Convert.ToDouble(defect[3]) <= ((Convert.ToDouble(defect[2]) / 100) * 17)))
  58. {
  59. }
  60. else
  61. if (defect[0] == "PN25" && (Convert.ToDouble(defect[3]) >= ((Convert.ToDouble(defect[2]) / 100) * 16.5) && Convert.ToDouble(defect[3]) <= ((Convert.ToDouble(defect[2]) / 100) * 17)))
  62. {
  63. }
  64. }
  65. }
  66. public void Main(string[] args)
  67. {
  68. Console.WriteLine("Показать исходные данные? Если ваш ответ 'да' напишите ниже 'да', ввод чувствителен к регистру.");
  69. string answer = Console.ReadLine();
  70. if (answer == "да") // проверка условия вывода
  71. {
  72. read();
  73. }
  74. check(string[] defect);
  75. }
  76. }
  77. }