Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# для начинающих

Войти
Регистрация
Восстановить пароль
 
AndreyVoronin52
0 / 0 / 0
Регистрация: 29.10.2016
Сообщений: 39
#1

Параметры круга - C#

06.02.2017, 14:46. Просмотров 417. Ответов 4
Метки нет (Все метки)

Дан радиус круга. Надо вывести диаметр, площадь и длину круга. Написал вот так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
struct CircleParameters
        {
            public double Radius;
            public double Diameter;
            public double Square;
            public double CircleLength;
 
            public CircleParameters(double radius)
            {
                Radius = radius;
                Diameter = 2 * Radius;
                Square = Math.PI * Math.Pow(Radius, 2);
                CircleLength = Math.PI * Diameter;
            }
 
        }
 
        static void Main(string[] args)
        {
            double radius = double.Parse(Console.ReadLine());
            CircleParameters parameters = new CircleParameters(radius);
            Console.WriteLine(parameters.Diameter);
            Console.WriteLine(parameters.Square);
            Console.WriteLine(parameters.CircleLength);
        }
Препод написал мне:"это уже ближе, но если у твоей структуры поменять радиус, скажем на 5, то диаметр не изменится, верно?". Я не понимаю, что он имеет в виду.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2017, 14:46
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Параметры круга (C#):

Параметры круга. get{} и set{} - C#
Дан радиус круга. Надо вывести диаметр, площадь и длину круга. Написал вот так: struct CircleParameters { ...

Определить радиус, площадь круга и длину круга - C#
Программа для работы с действительными числами... 1)Дано (x0, y0) – координаты центра круга и (Хr, Yr) – координаты точки, которые...

Вычисление площади круга - C#
Как модифицировать код, чтобы метод посчитал площадь круга???:help: public override int ПлощадьФигуры(int s) ...

Вычислить площадь круга - C#
Пусть элементами круга является радиус(первый элемент), диаметр(второй элемент) и длина окружности(третий элемент). Составит...

Вычисление площади круга - C#
Пусть элементами круга является радиус(первый элемент), диаметр(второй элемент) и длина окружности(третий элемент). Составит...

Программа для закрашивания круга - C#
Добрый день. Помогите написать программу, чтобы закрашивала правую часть круга как показано на рисунке.

4
Pikemaster
298 / 298 / 120
Регистрация: 24.09.2013
Сообщений: 769
Завершенные тесты: 4
06.02.2017, 14:58 #2
AndreyVoronin52, он имел в виду, что при следующей записи:
C#
1
parameters.Radius = 5;
все остальные параметры круга останутся без изменений.

Добавлено через 53 секунды
Как вариант - сделать все параметры приватными и устанавливать новое значение радиуса только через метод. Например:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
struct CircleParameters
{
    double Radius;
    double Diameter;
    double Square;
    double CircleLength;
 
    public CircleParameters(double radius)
    {
        Radius = radius;
        Diameter = 2 * Radius;
        Square = Math.PI * Math.Pow(Radius, 2);
        CircleLength = Math.PI * Diameter;
    }
 
    public void SetRadius(double newRadius)
    {
        Radius = newRadius;
        Diameter = 2 * Radius;
        Square = Math.PI * Math.Pow(Radius, 2);
        CircleLength = Math.PI * Diameter;
    }
}
 
// parameters.SetRadius(5);
Добавлено через 5 минут
Ну, и тогда можно конструктор сократить:
C#
1
2
3
4
public CircleParameters(double radius)
{
    SetRadius(radius);
}
0
AndreyVoronin52
0 / 0 / 0
Регистрация: 29.10.2016
Сообщений: 39
06.02.2017, 15:30  [ТС] #3
А как мне выводить диаметр, площадь и длину круга?
0
Pikemaster
298 / 298 / 120
Регистрация: 24.09.2013
Сообщений: 769
Завершенные тесты: 4
06.02.2017, 15:45 #4
AndreyVoronin52, тогда так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
struct CircleParameters
{
    double Radius;
    public double Diameter { get; private set; }
    public double Square { get; private set; }
    public double CircleLength { get; private set; }
 
    public CircleParameters(double radius)
    {
        Radius = radius;
        SetRadius(radius);
    }
 
    public void SetRadius(double newRadius)
    {
        Radius = newRadius;
        Diameter = 2 * Radius;
        Square = Math.PI * Math.Pow(Radius, 2);
        CircleLength = Math.PI * Diameter;
    }
}
Выводить также как и раньше:
C#
1
Console.WriteLine(Diameter.ToString());
0
ata
268 / 240 / 53
Регистрация: 28.10.2015
Сообщений: 709
06.02.2017, 16:30 #5
Гораздо более правильно задавать радиус только через конструктор, а для изменения круга создавать новый объект.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
using System;
 
class Circle
{
    private double radius;
    private double? diameter;
    private double? area;
    private double? length;
 
    public Circle(double radius)
    {
        this.radius = radius;
    }
 
    public double Diameter
    {
        get { return (diameter = diameter ?? radius + radius).Value; }
    }
 
    public double Area
    {
        get { return (area = area ?? Math.PI * radius * radius).Value; }
    }
 
    public double Length
    {
        get { return (length = length ?? Math.PI * Diameter).Value; }
    }
}
 
public class Kata
{
    public static void Main()
    {
        Circle circle = new Circle(5);
        Console.WriteLine(circle.Diameter);
        Console.WriteLine(circle.Area);
        Console.WriteLine(circle.Length);
        circle = new Circle(10);
        Console.WriteLine(circle.Diameter);
        Console.WriteLine(circle.Area);
        Console.WriteLine(circle.Length);
    }
}
0
06.02.2017, 16:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.02.2017, 16:30
Привет! Вот еще темы с ответами:

Два круга, найти площади - C#
Begin. Даны два круга с общим центром и радиусами R1 и R2 (R1>R2). Найти площади этих кругов S1,S2. А также площадь S3 кольца, внешний...

Определить, находится ли точка в середине круга - C#
Еще разочек нужна помощь. Есть две задачки с которыми я не очень понимаю что делать. Одна тема - один вопрос Точка на площади задана...

нахождение площади круга, прямоугольника и треугольника - C#
мне нужна помощь в написании программы. написать надо не в консоли, а в Windows Forms, поэтому и незнаю как..помогите пожалуйста, последняя...

Просьба проверить нахождение площади круга - C#
Даны два круга с общим центром и радиусами R1 и R2 (R1 > R2). Найти площади этих кругов S1 и S2, а также площадь S3 кольца, внешний радиус...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru