Страница 1 из 1

C# CONSOLE

Добавлено: 29 май 2015, 20:11
1sumrac@bk.ru
написать программу по вводимых значениях высоты и радиуса программа высчитывала площадь поверхности и объем цилиндра. Пока смог написать так:

Код 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();
        }
    }
}