Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2015, 10:44   #1
1сумрак
Пользователь
 
Регистрация: 21.02.2011
Сообщений: 18
По умолчанию ПОМОГИТЕ исправить код по С#

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CubeProject
{
    public class cylinder
    {
        // У цилиндра параметр - высота
        public double high;
        // У цилиндра параметр - радиус
        public double radius;
        // Объём цилиндра
        public double Volume()
        {
            return 3.14 * radius * radius * high;
        }

        // Площадь поверхности цилиндра
        public double area()
        {
            return 2 * 3.14 * radius * (high + radius);
        }

     }

    class Testcylinder
    {
        static void Main()
        {
            cylinder Somecylinder = new cylinder();
            Console.WriteLine("Введите высоту цилиндра (положительное число):");
            string Input = Console.ReadLine();
            // Прежде, чем "посылать" пользователя с ошибкой, заменим точку на запятую
            string CorrectInput = Input.Replace('.', ',');
            try
            {
                // Если строка корректно преобразовалась к числу, проверим знак
                Somecylinder.Volume = Convert.ToDouble(CorrectInput);
                if (Somecylinder.Size <= 0)
                {
                    Console.WriteLine("Длина ребра куба должна быть положительной!");
                }
                else
                {
                    Console.Write("Объём куба: ");
                    Console.WriteLine(Somecylinder.Volume());
                    Console.Write("Площадь поверхности куба: ");
                    Console.WriteLine(Somecylinder.area());
                }

            }
            catch
            {
                Console.WriteLine("Ошибка! Не удалось преобразовать введённую строку в число.");
            }
            Console.WriteLine("Нажмите 'Enter' для выхода.");
            Console.ReadLine();
        }
    }
}

_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 29.05.2015 в 10:52.
1сумрак вне форума Ответить с цитированием
Старый 29.05.2015, 10:54   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

1сумрак, догадываться, что в коде не так, нужно самостоятельно?
Так же, как и разобраться, какую же задачу Вы пытаетесь данным кодом решить?
Может Вам ещё что-то нужно сделать?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.05.2015, 11:01   #3
1сумрак
Пользователь
 
Регистрация: 21.02.2011
Сообщений: 18
По умолчанию Задание

пользователь вводит параметры высоту, радиус. Программа выводит площадь поверхности и объем цилиндра.
Не выводит результат.
1сумрак вне форума Ответить с цитированием
Старый 29.05.2015, 11:08   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
if (Somecylinder.Size <= 0)
А это для чего сделано? Где у тебя свойство Size?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.05.2015, 13:04   #5
1сумрак
Пользователь
 
Регистрация: 21.02.2011
Сообщений: 18
По умолчанию вот так ?

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CubeProject
{
    public class cylinder
    {
        // У цилиндра параметр - высота
        public double high;
        // У цилиндра параметр - радиус
        public double radius;
        // Объём цилиндра
        public double Volume()
        {
            return 3.14 * radius * radius * high;
        }

        // Площадь поверхности цилиндра
        public double area()
        {
            return 2 * 3.14 * radius * (high + radius);
        }

    }

    class Testcylinder
    {
        static void Main()
        {
            cylinder Somecylinder = new cylinder();
            Console.WriteLine("Введите высоту цилиндра (положительное число):");
            string Input = Console.ReadLine();
            Console.WriteLine("Введите высоту цилиндра (положительное число):");
            
     string In = Console.ReadLine();
            
            // Прежде, чем "посылать" пользователя с ошибкой, заменим точку на запятую
           // string CorrectInput = Input.Replace('.', ',');
           // try
            {
                 // Если строка корректно преобразовалась к числу, проверим знак
               /// Somecylinder.high = Convert.ToDouble(CorrectInput);
               // if (Somecylinder.high <= 0)
              //  {
                    Console.WriteLine("высота цилиндра должна быть положительной!");
              //  }
               // else
                {
                   
                    Console.Write("Объём цилиндра: ");
                    Console.WriteLine(Somecylinder.Volume());
                    Console.Write("Площадь поверхности цилиндра: ");
                    Console.WriteLine(Somecylinder.area());


                }

            }
            catch
            {
                Console.WriteLine("Ошибка! Не удалось преобразовать введённую строку в число.");
            }
            Console.WriteLine("Нажмите 'Enter' для выхода.");
            Console.ReadLine();
        }
    }
}
_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 29.05.2015 в 13:18.
1сумрак вне форума Ответить с цитированием
Старый 29.05.2015, 14:35   #6
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

Что в итоге то? Всё заработало?
pu4koff вне форума Ответить с цитированием
Старый 29.05.2015, 14:41   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
1сумрак
Свойство сменил, а зачем закомментировал? Убери комменты
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.05.2015, 20:24   #8
1сумрак
Пользователь
 
Регистрация: 21.02.2011
Сообщений: 18
По умолчанию переписал все равно не так работает

Код:
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();
        }
    }
}
1сумрак вне форума Ответить с цитированием
Старый 29.05.2015, 21:18   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Код:
using System;

namespace Application
{
	public class cylinder
	{
		// У цилиндра параметр - высота
		public double Height;
		// У цилиндра параметр - радиус
		public double radius;
		// Объём цилиндра
		public double Volume()
		{
			return 3.14 * radius * radius * Height;
		}

		// Площадь поверхности цилиндра
		public double area()
		{
			return 2 * 3.14 * radius * (Height + radius);
		}

	}

	class MainClass
	{
		public static void Main (string[] args)
		{
			cylinder c = new cylinder ();
			Console.Write ("Высота ");
				c.Height = Convert.ToDouble (Console.ReadLine ().Replace (',', '.'));
			Console.Write ("Радиус ");
				c.radius = Convert.ToDouble (Console.ReadLine ().Replace (',', '.'));
			Console.WriteLine ("Площадь={0} Обьем={1}", c.area(), c.Volume());
			Console.ReadKey ();
			}
	}
}
Годится?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПОМОГИТЕ ИСПРАВИТЬ КОД SofiNNN Общие вопросы C/C++ 3 18.11.2014 22:14
Помогите исправить код pisinus Помощь студентам 2 13.10.2013 16:12
помогите исправить код Screame Microsoft Office Excel 2 12.07.2009 10:56
Помогите исправить код Tanuska___:) БД в Delphi 4 07.08.2008 17:40
Помогите исправить код student_63 Помощь студентам 5 13.12.2007 18:20