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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.05.2012, 22:40   #1
Serg94
Форумчанин
 
Аватар для Serg94
 
Регистрация: 10.12.2011
Сообщений: 167
По умолчанию C#.Классы

Задание:Во-первых, необходимо создать класс Сторона, который состоит из двух членов-данных: Длина и Ширина – закрытого типа. Для чтения и записи этих данных существуют функции-члены открытого типа – методы доступа. Во-вторых, создается второй класс – Прямоугольник, который состоит из двух членов-данных типа Сторона (закрытого типа). Для доступа к данным-членам закрытого типа имеются открытые методы доступа. Кроме того, в классе Прямоугольник имеются функции-члены для определения периметра и площади Прямоугольника. (Функции-члены открытого типа)

................................... ................................... ................................... .
Правильно ли я сделал?!тут нужно делать наследование?а то в задание ничего не сказано!если что подправьте или скажите где ошибка!!
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    public class Storona
    {
        protected int dlina;
        protected int shirina;

        public Storona()
        {
            dlina = 0;
            shirina = 0;
        }
        public Storona(int d, int s)
        {
            dlina = d;
            shirina = s;
        }

    }
    public class Prymougolnik:Storona
    {

        public Prymougolnik()
        {
            dlina = 0;
            shirina = 0;
        }
        public Prymougolnik(int dl, int sh):base(dl, sh)
        {
            dlina = dl;
            shirina = sh;
        }

        public double P()
        {
            return dlina*2 + 2* shirina;
        }
        public double S()
        {

            return dlina * shirina;
        }
    }
    class Program
    {
        static void Menu()
        {
            Console.WriteLine("1- ввод данных");
            Console.WriteLine("2- вычислить периметр");
            Console.WriteLine("3- вычислить площадь");
            Console.WriteLine("4- выход");
        }
        static void Vvod(out int dl, out int sh)
        {
            Console.WriteLine("Введите параметры прямоугольника");
            Console.Write("длина:");
            dl = Convert.ToInt16(Console.ReadLine());
            Console.Write("ширина:");
            sh = Convert.ToInt32(Console.ReadLine());
        }
        static void Main(string[] args)
        {
           Prymougolnik A = new Prymougolnik();
            while (true)
            {
                Menu();
                {
                    string v = Console.ReadLine();
                    if (v == "")
                        return;
                    char ot = Convert.ToChar(v);
                    switch (ot)
                    {
                        case '1':
                            {
                                int dl, sh;
                                Vvod(out dl, out sh);
                                A = new Prymougolnik(dl, sh);
                                break;
                            }
                        case '2':
                            {
                                Console.WriteLine("Периметр прямоугольника равен: {0}", A.P());
                                break;
                            }
                        case '3':
                            {
                                Console.WriteLine("Площадь прямоугольника равна: {0} ", A.S());
                                break;
                            }
                        case '4':
                            return;
                        default: break;
                    }
                }
            }
        }
    }
}
Serg94 вне форума Ответить с цитированием
Старый 23.05.2012, 00:23   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

чё-то муторное задание.

У стороны на плоскости обычно как бы одно измерение. Иначе получаем горячечный бред, типо: "Задан равносторонний треугольник с длиной стороны 15 см и шириной стороны 20 см". Это чё надо курить, бамбук, выросший на маковом поле?

Ладно, допустим длина и ширина. "Для чтения и записи этих данных существуют функции-члены открытого типа – методы доступа." Ну запись вы типо предоставили -- через конструктор. Допустим. А чтение? ЧОрный квадрат.

Теперь вы от этого чОрного квадрата наследуете чОрный прямоугольник, хотя вас не об этом просили: "Прямоугольник, который состоит из двух членов-данных типа Сторона". Типо прямоугольник, у которого 2 разных длины и 2 разных ширины. Продолжаем курить бамбук, но добавляем сушОные грибы.

Представить периметр этого чуда природы я не берусь. Не говоря уже про площадь.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 23.05.2012, 00:32   #3
Serg94
Форумчанин
 
Аватар для Serg94
 
Регистрация: 10.12.2011
Сообщений: 167
По умолчанию ...

сам не могу разобраться, ну спасибо и на этом)
Serg94 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Классы Тёма_) Общие вопросы C/C++ 12 06.04.2012 09:38
Классы (C++) Sdw Помощь студентам 0 23.12.2011 00:01
C# Классы MarihuanaP Помощь студентам 0 05.12.2011 20:56
С++ классы Azgor Помощь студентам 3 26.05.2010 22:42