// Метод, вызывающий два предыдущих для поиска пересечения public void FindRectangle(Parallelepiped obj) { int new_g = IntersectionX(x, x + g, obj.x, obj.x + obj.g); int new_sh = IntersectionY(y, y - sh, obj.y, obj.y - obj.sh); Console.Write("Пересечение двух прямоугольников: "); if (new_g == 0 || new_sh == 0) { new_g = 0; new_sh = 0; Console.WriteLine("нет"); } else { Console.WriteLine("g: {0} sh: {1}", new_g, new_sh); } }
static void Main(string[] args) { Parallelepiped first = Parallelepiped.NewFigure(); // Для теста вставок из части 1: first = new Parallelepiped(0, 6, 7, 0, 0); first.Info("первом"); Console.WriteLine("Объем параллелепипеда: {0} см3", first.Volume); Console.WriteLine("Площадь боковой поверхности параллелепипеда: {0} см2", first.SideS); Console.WriteLine("Площадь основания параллелепипеда: {0} см2", first.BasisS); Console.WriteLine("Площадь полной поверхности параллелепипеда: {0} см2", first.SurfaceS); Console.WriteLine("Диагональ параллелепипеда: {0:f2} см", first.Diagonal); Console.WriteLine("Периметр всех ребр параллелепипеда: {0} cм", first.LengthOfEdges); Console.WriteLine("Является ли параллелепипед кубом: {0}", first.isCube ? "да" : "нет"); if (first.SphereRadius != 0) { Console.WriteLine("Радиус шара, описанного около параллелепипеда: {0:f2} см", first.SphereRadius); } else { Console.WriteLine("Шар невозможно описать"); } /*Console.WriteLine("Проверяю тесты!"); * Console.WriteLine("\nТест 1"); * Parallelepiped second = new Parallelepiped(0, 2, 2, 1, -1); * second.Info("втором"); * first.FindRectangle(second); * Console.WriteLine("\nТест 2"); * second.Move(5, 1); * second.Info("втором"); * first.FindRectangle(second); * Console.WriteLine("\nТест 3"); * second.Move(6, 3); * second.Info("втором"); * first.FindRectangle(second); * Console.WriteLine("\nТест 4"); * second.Move(5, -5); * second.Info("втором"); * first.FindRectangle(second); * Console.WriteLine("\nТест 5"); * second.Move(-1, 1); * second.Info("втором"); * first.FindRectangle(second); * Console.WriteLine("\nТест 6"); * second.Move(0, -5); * second.Info("втором"); * first.FindRectangle(second); * Console.WriteLine("\nТест 7"); * second.Move(-4, 2); * second.Info("втором"); * first.FindRectangle(second); * Console.WriteLine("\nТест 8"); * second.Move(6, -2); * second.Info("втором"); * first.FindRectangle(second); * Console.WriteLine("\nТест 9"); * second.Move(3, -6); * second.Info("втором"); * first.FindRectangle(second); * Console.WriteLine("\nТест 10"); * second.Move(4, -3); * second.Info("втором"); * first.FindRectangle(second);*/ }
public static Parallelepiped NewFigure() // статический метод создания фигуры { Parallelepiped first; Console.Write("Если хотите использовать конструктор по умолчанию, введите 1, иначе любую цифру: "); int command = int.Parse(Console.ReadLine()); if (command == 1) { first = new Parallelepiped(); Console.WriteLine("Сработал конструктор по умолчанию!"); } else { int height, width, depth; try { Console.Write("Введите высоту параллелепипеда: "); height = int.Parse(Console.ReadLine()); if (height <= 0) { throw new Exception(); } } catch { Console.WriteLine("Введена неверная высота, ставлю значение, равное 5"); height = 5; } try { Console.Write("Введите ширину параллелепипеда: "); width = int.Parse(Console.ReadLine()); if (width <= 0) { throw new Exception(); } } catch { Console.WriteLine("Введена неверная ширина, ставлю значение, равное 6"); width = 6; } try { Console.Write("Введите глубину параллелепипеда: "); depth = int.Parse(Console.ReadLine()); if (depth <= 0) { throw new Exception(); } } catch { Console.WriteLine("Введена неверная высота, ставлю значение, равное 7"); depth = 7; } Console.Write("Введите координату x вставки: "); int x = int.Parse(Console.ReadLine()); Console.Write("Введите координату y вставки: "); int y = int.Parse(Console.ReadLine()); first = new Parallelepiped(height, width, depth, x, y); Console.WriteLine("Сработал конструктор с параметрами!"); } return(first); }
static void Main(string[] args) { Parallelepiped first; Console.Write("Если хотите использовать конструктор по умолчанию, введите 1, иначе любую цифру: "); int command = int.Parse(Console.ReadLine()); if (command == 1) { first = new Parallelepiped(); Console.WriteLine("Сработал конструктор по умолчанию!"); } else { Console.Write("Введите высоту параллелепипеда: "); int height = int.Parse(Console.ReadLine()); Console.Write("Введите ширину параллелепипеда: "); int width = int.Parse(Console.ReadLine()); Console.Write("Введите глубину параллелепипеда: "); int depth = int.Parse(Console.ReadLine()); Console.Write("Введите координату x вставки: "); int x = int.Parse(Console.ReadLine()); Console.Write("Введите координату y вставки: "); int y = int.Parse(Console.ReadLine()); first = new Parallelepiped(height, width, depth, x, y); Console.WriteLine("Сработал конструктор с параметрами!"); } //first = new Parallelepiped(0, 6, 7, 0, 0); first.Info("первом"); Console.WriteLine("Объем параллелепипеда: {0} см3", first.Size()); Console.WriteLine("Площадь боковой поверхности параллелепипеда: {0} см2", first.SideS()); /*Console.WriteLine("Проверяю тесты!"); * Console.WriteLine("\nТест 1"); * Parallelepiped second = new Parallelepiped(0, 2, 2, 1, -1); * second.Info("втором"); * first.FindRectangle(second); * * Console.WriteLine("\nТест 2"); * second.Move(5, 1); * second.Info("втором"); * first.FindRectangle(second); * * Console.WriteLine("\nТест 3"); * second.Move(6, 3); * second.Info("втором"); * first.FindRectangle(second); * * Console.WriteLine("\nТест 4"); * second.Move(5, -5); * second.Info("втором"); * first.FindRectangle(second); * * Console.WriteLine("\nТест 5"); * second.Move(-1, 1); * second.Info("втором"); * first.FindRectangle(second); * * Console.WriteLine("\nТест 6"); * second.Move(0, -5); * second.Info("втором"); * first.FindRectangle(second); * * Console.WriteLine("\nТест 7"); * second.Move(-4, 2); * second.Info("втором"); * first.FindRectangle(second); * * Console.WriteLine("\nТест 8"); * second.Move(6, -2); * second.Info("втором"); * first.FindRectangle(second); * * Console.WriteLine("\nТест 9"); * second.Move(3, -6); * second.Info("втором"); * first.FindRectangle(second); * * Console.WriteLine("\nТест 10"); * second.Move(4, -3); * second.Info("втором"); * first.FindRectangle(second);*/ }
static void Main(string[] args) { Parallelepiped first; Console.Write("Если хотите использовать конструктор по умолчанию, введите 1, иначе любую цифру: "); int command = int.Parse(Console.ReadLine()); if (command == 1) { first = new Parallelepiped(); Console.WriteLine("Сработал конструктор по умолчанию!"); } else { int height, width, depth; try { Console.Write("Введите высоту параллелепипеда: "); height = int.Parse(Console.ReadLine()); if (height <= 0) { throw new Exception(); } } catch { Console.WriteLine("Введена неверная высота, ставлю значение, равное 5"); height = 5; } try { Console.Write("Введите ширину параллелепипеда: "); width = int.Parse(Console.ReadLine()); if (width <= 0) { throw new Exception(); } } catch { Console.WriteLine("Введена неверная ширина, ставлю значение, равное 6"); width = 6; } try { Console.Write("Введите глубину параллелепипеда: "); depth = int.Parse(Console.ReadLine()); if (depth <= 0) { throw new Exception(); } } catch { Console.WriteLine("Введена неверная высота, ставлю значение, равное 7"); depth = 7; } Console.Write("Введите координату x вставки: "); int x = int.Parse(Console.ReadLine()); Console.Write("Введите координату y вставки: "); int y = int.Parse(Console.ReadLine()); first = new Parallelepiped(height, width, depth, x, y); Console.WriteLine("Сработал конструктор с параметрами!"); } // Для теста вставок из части 1: first = new Parallelepiped(0, 6, 7, 0, 0); first.Info("первом"); Console.WriteLine("Объем параллелепипеда: {0} см3", first.Volume); Console.WriteLine("Площадь боковой поверхности параллелепипеда: {0} см2", first.SideS); Console.WriteLine("Площадь основания параллелепипеда: {0} см2", first.BasisS); Console.WriteLine("Площадь полной поверхности параллелепипеда: {0} см2", first.SurfaceS); Console.WriteLine("Диагональ параллелепипеда: {0:f2} см", first.Diagonal); Console.WriteLine("Периметр всех ребр параллелепипеда: {0} cм", first.LengthOfEdges); Console.WriteLine("Является ли параллелепипед кубом: {0}", first.isCube ? "да" : "нет"); if (first.SphereRadius != 0) { Console.WriteLine("Радиус шара, описанного около параллелепипеда: {0:f2} см", first.SphereRadius); } else { Console.WriteLine("Шар невозможно описать"); } /*Console.WriteLine("Проверяю тесты!"); * Console.WriteLine("\nТест 1"); * Parallelepiped second = new Parallelepiped(0, 2, 2, 1, -1); * second.Info("втором"); * first.FindRectangle(second); * Console.WriteLine("\nТест 2"); * second.Move(5, 1); * second.Info("втором"); * first.FindRectangle(second); * Console.WriteLine("\nТест 3"); * second.Move(6, 3); * second.Info("втором"); * first.FindRectangle(second); * Console.WriteLine("\nТест 4"); * second.Move(5, -5); * second.Info("втором"); * first.FindRectangle(second); * Console.WriteLine("\nТест 5"); * second.Move(-1, 1); * second.Info("втором"); * first.FindRectangle(second); * Console.WriteLine("\nТест 6"); * second.Move(0, -5); * second.Info("втором"); * first.FindRectangle(second); * Console.WriteLine("\nТест 7"); * second.Move(-4, 2); * second.Info("втором"); * first.FindRectangle(second); * Console.WriteLine("\nТест 8"); * second.Move(6, -2); * second.Info("втором"); * first.FindRectangle(second); * Console.WriteLine("\nТест 9"); * second.Move(3, -6); * second.Info("втором"); * first.FindRectangle(second); * Console.WriteLine("\nТест 10"); * second.Move(4, -3); * second.Info("втором"); * first.FindRectangle(second);*/ }