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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2013, 14:27   #1
gvozdik12
Пользователь
 
Регистрация: 17.03.2013
Сообщений: 22
Радость с# Создать класс, методы и т.д.

Желательно с объяснениями где что делается
Изображения
Тип файла: jpg Фото1440.jpg (91.2 Кб, 150 просмотров)
gvozdik12 вне форума Ответить с цитированием
Старый 16.04.2013, 14:40   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

В какому пункте проблема? Что говорит по поводу этого пункта используемый Вами учебник?
Abstraction вне форума Ответить с цитированием
Старый 16.04.2013, 14:44   #3
gvozdik12
Пользователь
 
Регистрация: 17.03.2013
Сообщений: 22
По умолчанию

у меня все задание одна большая проблема...
gvozdik12 вне форума Ответить с цитированием
Старый 16.04.2013, 14:51   #4
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Первый пункт. Класс Rectangle с полями int a, b;. Те же вопросы.
Abstraction вне форума Ответить с цитированием
Старый 16.04.2013, 15:11   #5
gvozdik12
Пользователь
 
Регистрация: 17.03.2013
Сообщений: 22
По умолчанию

учебника нет....
gvozdik12 вне форума Ответить с цитированием
Старый 16.04.2013, 15:17   #6
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
учебника нет....
Идёте и покупаете Шилдта. На худой конец - качаете.
Abstraction вне форума Ответить с цитированием
Старый 18.04.2013, 17:55   #7
gvozdik12
Пользователь
 
Регистрация: 17.03.2013
Сообщений: 22
По умолчанию

вот код задачи, все правильно, препод проверил, только мне осталось тип string преобразовать в тип Restangle. Помогите пожалуйста. Завтра сдать надо
Код:
class Restangle
    {
        int a;
        int b;
        
        public Restangle(int dlina, int chirina)
        {
            a = dlina;
            b = chirina;

        }

        public void ReWrite()
        {
            Console.WriteLine("длина: {0} ширина: {1}", a, b);

        }
      

        public int perimetr()
        {
            return 2 * (a + b);

        }
        public int pl()
        {
            return  a*b;


        }

        public void Result()
        {
            Console.WriteLine("периметр прямоугольника равен: {0}", perimetr());

            Console.WriteLine("площадь прямоугольника равна: {0}", pl());
            return;


        }
       
        public int A
        {
            get { return a; }

            set
            {
                a = value;
            }
        }
        public int B
        {
            get { return b; }
            set
            {
                b = value;
            }
        }
       
        public bool proverka
        {
            get
            {
                if (a == b)
                  
                    return true;
            
                return false;
            }
        }
        
        public int this[int idx]
        {
            get
            {
                if (idx == 0)
                    return a;
                else if (idx == 1)
                    return b;

                else
                {
                    Console.WriteLine("неверный индексатор");
                    Console.ReadLine();
                    return -1 ; }
            }







        }
     

        public static Restangle operator ++(Restangle Ob)
        {
            return new Restangle(++Ob.a, ++Ob.b);

        }

        public static Restangle  operator --(Restangle Ob)
        {
            return new Restangle(--Ob.a, --Ob.b);
        }

       
        public static bool operator true(Restangle t)
        {
            return t.proverka;


        }
        public static bool operator false(Restangle t)
        {
            return t.proverka;
        }
       
        public static Restangle operator *(Restangle ob, int mult)
        {
            return new Restangle(ob.a * mult, ob.b * mult);
        }
        
        public override string ToString() // здесь преобразование типа  Restangle в string, необходимо наоборот сделать
        {
            
            return  ""+A +" "+ B;

        }
      
    }




    class Program
    {
        static void Main(string[] args)

        {
            try
            {
                Restangle ex = new Restangle(7,8);
                ex.ReWrite();
                Console.ReadLine();


                Console.WriteLine("введите длину: ");
                string s = Console.ReadLine();
                int d = int.Parse(s);
                Console.WriteLine("введите ширину: ");
                string s1 = Console.ReadLine();
                int sch = int.Parse(s1);
                Restangle n = new Restangle(d, sch);

                n.Result();
                Console.ReadLine();

                Restangle ob = new Restangle(d, sch);
                
                ob++;
                ob.ReWrite();
                ob--;
                ob.ReWrite();
                ob *= 5;
                ob.ReWrite();
                Console.WriteLine(ob);
                Console.WriteLine(ob[1]);

            }
            
            catch (Exception e)
            {
                
                Console.WriteLine(e.Message);
            }
           
            {
                 Console.ReadKey();
            }

        }


        
        }
               
        



        }
gvozdik12 вне форума Ответить с цитированием
Старый 18.04.2013, 18:34   #8
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
Завтра сдать надо
гипс снимают клиент уезжает ... ничё, в армии научат, там более отзывчивые, это вам не тут.
eval вне форума Ответить с цитированием
Старый 18.04.2013, 21:17   #9
acteralex
Форумчанин
 
Регистрация: 19.05.2011
Сообщений: 189
По умолчанию

Как я это вижу:

1) Преобразуемый стринг должен быть какого-то формата определенного, например:
Код:
"115-185"
2) Разбираем это строку, например width = 115, height = 185...

Если я не прав, поправьте, пожалуйста. Вопрос интересный.
acteralex вне форума Ответить с цитированием
Старый 19.04.2013, 11:18   #10
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Как я это вижу:
Ну, в общем, да:
Код:
//формат в виде регулярного выражения
static Regex ex_rectangle = new Regex(@"^(?<width>\d+)-(?<height>\d+)$");

static bool TryParse(string s, out Restangle r){
  r = null;
  if(!ex_rectangle.IsMatch(s)) return false;
  Match m = ex_rectangle.Match(s);
  int width, height;
  if(!int.TryParse(m.Groups["width"], out width)) return false;
  if(!int.TryParse(m.Groups["height"], out height)) return false;
  r = new Restangle(width, height);
  return true;
}
Abstraction вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать класс, содержающий методы вычисления расстояние между двумя точками (C# решения нужно оч!) JoyStar Помощь студентам 6 10.12.2012 15:09
Cоздать класс жидкость. определить конструкторы деструкторы и функцию печати. создать публик производный класс. (С++) Динар Габбасов Помощь студентам 0 28.05.2012 18:44
Создать методы для задач, С# Катя66 Помощь студентам 2 24.05.2012 10:58
Создать класс Money, разработав для него поля, конструктор, методы, свойства vip.a.o.93 Общие вопросы .NET 0 09.02.2012 21:42
Методы-в класс xMoNaHx Паскаль, Turbo Pascal, PascalABC.NET 16 23.06.2009 18:17