Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace TestFieldIthink
- {
- internal class Program
- {
- static void Main()
- {
- Console.WriteLine("[?] Выберите фигуру");
- Console.WriteLine("[1] Призма");
- Console.WriteLine("[2] Конус");
- int choice = int.Parse(Console.ReadLine());
- double a, b, h, r;
- switch (choice)
- {
- case 1:
- Console.Write("[*] Введите длину: ");
- a = double.Parse(Console.ReadLine());
- Console.Write("[*] Введите ширину: ");
- b = double.Parse(Console.ReadLine());
- Console.Write("[*] Введите высоту: ");
- h = double.Parse(Console.ReadLine());
- Prism prism = new Prism(a, b, h);
- Console.WriteLine($"[*] Объем призмы: {prism.CalculateVolume()} ;" +
- $" Площадь поверхности: {prism.CalculateArea()}");
- break;
- case 2:
- Console.Write("[*] Введите радиус: ");
- r = double.Parse(Console.ReadLine());
- Console.Write("[*] Введите высоту: ");
- h = double.Parse(Console.ReadLine());
- Cone cone = new Cone(r, h);
- Console.WriteLine($"[*] Объем конуса: {cone.CalculateVolume()} ;" +
- $" Площадь поверхности конуса: {cone.CalculateArea()}");
- break;
- default:
- Console.WriteLine("Некорректный выбор.");
- break;
- }
- }
- public abstract class Figure
- {
- public abstract double CalculateArea();
- public abstract double CalculateVolume();
- }
- public class Prism : Figure
- {
- private double a, b, h;
- public override double CalculateArea()
- {
- return Math.Round(2 * (a * b + a * h + b * h),3);
- }
- public override double CalculateVolume()
- {
- return Math.Round(a * b * h, 3);
- }
- public Prism(double a , double b, double h)
- {
- this.a = a;
- this.b = b;
- this.h = h;
- }
- }
- public class Cone : Figure
- {
- private double r, h;
- public override double CalculateArea()
- {
- return Math.Round( Math.PI * r * Math.Sqrt(r * r + h * h) , 3);
- }
- public override double CalculateVolume()
- {
- return Math.Round(( ((double)1/3) * Math.PI * r * r * h),3);
- }
- public Cone(double r, double h)
- {
- this.r = r;
- this.h = h;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment