Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

[ C# : ] Интерфейсы

6.5K
25 ноября 2007 года
kurzon
87 / / 28.09.2007
Объявить интерфейс „Геометрическая фигура" с методами для получения периметра и площади и реализовать класс „Параллелограмм", который его наследует
Код:
using System;
using System.Collections.Generic;
using System.Text;

namespace Interfeys
{
   
   
        interface GeomPerum
        {
            double Perumetr(double a,double b);
        }
        interface GeomPlosha
        {
            double Plosha(double a,double b,double kyt);
        }
                 
        class MyClass : GeomPerum,GeomPlosha
        {
            double GeomPerum.Perumetr(double a, double b)
            {
                return 2 * a + 2 * b;
            }
            double GeomPlosha.Perumetr(double a, double b, double kyt)
            {
                return a * b * Math.Sin(kyt);
            }
            public double OperPerum(double a, double b)
            {
                GeomPerum ObPerum;
                ObPerum = this;
                return ObPerum.Perumetr(double a, double b);
            }
            public double OperPlosha(double a, double b, double kyt)
            {
                GeomPlosha ObPlosha;
                ObPlosha=this;
                return ObPlosha.Plosha(double a, double b, double kyt);
            }
           
        }
    class Obchuslena
    {
   
        public static void Main(string[] args)
        {
           Console.WriteLine("Введить сторону А");
            Double a=Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("Введить сторону B");
            Double b=Convert.ToDouble(Console.ReadLine());
            Obchuslena ob =new Obchuslena();
            Console.WriteLine("Периметр"+ob.OperPerum(3,5));
            Console.WriteLine("Gkjof"+ob.OperPlosha(3,5,30));

        }
    }
 
}

Что тут нужно исправить?
14K
25 ноября 2007 года
stimpi
100 / / 04.09.2007
Цитата: kurzon

Что тут нужно исправить?


Нужно идти обратно в школу учить русский, украинский и английский языки, и только потом садиться за программирование. Код написан настолько криво, что я бы его даже не принял у тебя, будь я преподом :D

в твоем коде куча лишнего, в общем выкинул кое-что переименовал по-людски и работает. Да кстати Math.Sin() принимает не градусы а радианы вроде, поэтому площадь в твоих формулах будет в некоторых случаях отрицательной.

Код:
using System;
using System.Collections;
using System.Text;

namespace Figure
{
     interface Perimeter
    {
        double perimeter(double a,double b);
    }
    interface Area
    {
        double area(double a,double b,double angle);
    }
                 
    class Parallelogram : Perimeter,Area
    {
        public double perimeter(double a, double b)
        {
            return 2 * a + 2 * b;
        }
        public double area(double a, double b, double angle)
        {
            return a * b * Math.Sin(angle);
        }
    }

    class ParallelogramApp
    {
   
        public static void Main(string[] args)
        {
            Console.WriteLine("Введите сторону А");
            Double a = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("Введите сторону B");
            Double b = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("Введите угол");
            int angle = Convert.ToInt16(Console.ReadLine());
            Parallelogram calculate = new Parallelogram();
            Console.WriteLine("Perimeter " + calculate.perimeter(a,b));
            Console.WriteLine("Area " + calculate.area(a,b,angle));
        }
    }
}
ЗЫ о С# имею поверхностные понятия, никогда на нем не писал, так что строго не судите, чем мог тем помог.
257
26 ноября 2007 года
kosfiz
1.6K / / 18.09.2005
а по-моему так:
Код:
class Program
    {
        interface GeometricFigure
        {
            double Perimetr();
            double Area();
        }

        class Parallelogram : GeometricFigure
        {
            public double a;
            public double b;
            public double angle;

            public double Perimetr()
            {
                return 2 * a + 2 * b;
            }

            public double Area()
            {
                return b * a * Math.Sin(angle * Math.PI / 180);
            }
        }
        static void Main(string[] args)
        {
            Parallelogram prl = new Parallelogram();
            prl.a = 2;
            prl.b = 4;
            prl.angle = 30;
            Console.WriteLine("{0} {1}", prl.Area(), prl.Perimetr());
            Console.ReadLine();
        }
    }
6.5K
26 ноября 2007 года
kurzon
87 / / 28.09.2007
Всем спасиба...

[COLOR="Red"]Если хочешь сказать "спасиба" помогавшим - используешь репутацию,а постить благодарности в разделе не надо.Буду удалять.[/COLOR]модератор
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог