C# CONSOLE
Добавлено: 29 май 2015, 20:11
написать программу по вводимых значениях высоты и радиуса программа высчитывала площадь поверхности и объем цилиндра. Пока смог написать так:
Код C#
Код 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();
}
}
}