Вычислить площадь и объем цилиндра - C#
Формулировка задачи:
написать программу по вводимых значениях высоты и радиуса программа высчитывала площадь поверхности и объем цилиндра. Пока смог написать так:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace cylinderProject
{
public class cylinder
{
// У цилиндра параметр - высота
public double height;
// Объём цилиндра
public double Volume()
{
return 3.14 * 5 * 5 * height;
}
// Площадь поверхности цилиндра
public double Surface()
{
return 2 * 5 * 3.14 * (height + 5);
}
}
class Testcylinder
{
static void Main()
{
cylinder Somecylinder = new cylinder();
Console.WriteLine("Введите высоту цилиндра (положительное число):");
string Input = Console.ReadLine();
// Прежде, чем выдавать ошибку, заменим точку на запятую
Input = Input.Replace('.', ',');
// Также удалим все знаки, которые не являются числом и запятой
for (int i = Input.Length - 1; i >= 0; i--)
{
if (Input[i] == ',')
{
if (Input.IndexOf(',') < i)
{
Input = Input.Remove(i, 1);
}
}
else if (!Char.IsDigit(Input[i]))
{
Input = Input.Remove(i, 1);
}
}
Console.WriteLine(Input);
try
{
// Если строка корректно преобразовалась к числу, проверим знак
Somecylinder.height = Convert.ToDouble(Input);
if (Somecylinder.height <= 0)
{
Console.WriteLine("Длина ребра куба должна быть положительной!");
}
else
{
Console.Write("Объём куба: ");
Console.WriteLine(Somecylinder.Volume());
Console.Write("Площадь поверхности куба: ");
Console.WriteLine(Somecylinder.Surface());
}
}
catch
{
Console.WriteLine("Ошибка! Не удалось преобразовать введённую строку в число.");
}
Console.WriteLine("Нажмите 'Enter' для выхода.");
Console.ReadLine();
}
}
}Решение задачи: «Вычислить площадь и объем цилиндра»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace hellp1
{
class cylinder
{
double h;
double r;
public void setH(double val)
{
h = val;
}
public void setR(double val)
{
r = val;
}
public double Surface()
{
return 2 * Math.PI * h * r;
}
public double Volume()
{
return Math.PI * r * r * h;
}
}
class Program
{
static void Main(string[] args)
{
cylinder cyl= new cylinder();
double r, h;
try
{
Console.Write("Введите высоту цилиндра: ");
cyl.setH(double.Parse(Console.ReadLine()));
Console.Write("Введите Радиус цилиндра: ");
cyl.setR(double.Parse(Console.ReadLine()));
}
catch (Exception)
{
Console.WriteLine("Не правильный формат ввода! Только цифры и знак ,");
}
Console.WriteLine("Площадь поверхности цилиндра: "+ cyl.Surface());
Console.WriteLine("Объем цилиндра цилиндра: " + cyl.Volume());
Console.ReadKey();
}
}
}