Премини към съдържанието
VNpower

Малко помощ C# , намиране на периметъра на триъгълник

Препоръчан отговор


Здравейте, ако може някой да ми помогне да завърша задачата, ще съм му безкрайно благодарен.

 

==============================================================================================
Задачата е следната:

 

Напишете програма за създаване на клас Triangle със следните елементи:

  • [*]
полета:  double a, b, c (това са дължините на страните на триъгълника); [*]конструктор с параметри a,b,c; [*]методи за:

  • [*]
достъп до всяко едно от полетата; [*]проверка дали съществува триъгълник със зададените дължини на страните(a>0,b>0,c>0 и a +b>c, b +c >a, a + c>b); [*]намиране на периметъра на триъгълника p=a +b + c; [*]Да се напише Main-метод за тестване на така създадения клас.

=============================================================================================

Кодъд за момента е този :

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
  class Triangle
  {
  private double a;
  private double b;
  private double c;

  public double A
  {
  get { return this.a; }
  set { a = value; }
  }

  public double B
  {
  get { return this.b; }
  set { b = value; }
  }

  public double C
  {
  get { return this.c; }
  set { c = value; }
  }

  public bool Exists()
  {
  if ((this.c < (this.a + this.b)) && (this.b < (this.c + this.a)) && (this.a < (this.b + this.c))) //Проверка дали сбора на двете страни е по-голям от третата
  {
  return true;
  }
  else { return false; }
  }

  public void ShowSides()
  {
  Console.WriteLine("Strana A = {0}, Strana B = {1}, Strana C = {2}", this.a, this.b, this.c);
  }

  public void TriangleType()
  {
  double one = this.a * this.a;
  double two = this.b * this.b;
  double three = this.c * this.c;

  if (one == two && two == three) { Console.WriteLine("Triugulnika e rawnostranen"); }
  else if (one == two || two == three || one == three) { Console.WriteLine("Triugalnika e ravnobedren. "); }
  else { Console.WriteLine("Triugalnika e raznostranen"); }

  }
  }

  class Program
  {
  static void Main(string[] args)
  {
  double[] sides = new double[3];
  Triangle triangle = new Triangle();
  Console.Write("Vuvedete strana a: ");
  sides[0] = double.Parse(Console.ReadLine());
  Console.Write("Vuvedete strana b: ");
  sides[1] = double.Parse(Console.ReadLine());
  Console.Write("Vuvedete strana c: ");
  sides[2] = double.Parse(Console.ReadLine());
  Array.Sort(sides);
  for (int i = 0; i < sides.Length; i++)
  {
  if (i == 0) { triangle.A = sides; }
  else if (i == 1) { triangle.B = sides; }
  else { triangle.C = sides; }
  }
  triangle.ShowSides();
  if (triangle.Exists() == true) { Console.WriteLine("Triugulnikut sushtestvuva!"); triangle.TriangleType(); }
  else { Console.WriteLine("Triugulnik s takiva strani ne sushtestvuva!"); }


  //Последните редове са за да не се затвори програмата след стартиране, а да очаква натискане на клавиш.
  Console.WriteLine();//Празен ред за нагледност
  Console.Write("Press any key.");
  Console.ReadKey();
  }
  }
}
 

 

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Конструктор се описва по този начин: 

    class Triangle    {        private double a;        private double b;        private double c;        public Triangle(double a, double b, double c)        {            this.a = a;            this.b = b;            this.c = c;                    }            }
Поддържа се overloading, т.е. в същия клас може да има още един конструктор с различни параметри, подобно на това как може в един клас да има методи с едно и също име, но с различни параметри в сигнатурата, и това да бъдат различни методи. Показаният конструктор ще се извика по този начин:
Triangle tr = new Triangle(1D, 1D, 1D);

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Благодаря, че така бързо се отзова някой.За да бъда честен нямам никаква представа за какво иде реч, кодът не съм го писал аз, едно приятелче ми помогна, но сме до задънена улица.Ако може просто да подкараме програмата някак си, ако не здраве да е. 

Благодаря  за помощта.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Регистрирайте се или влезете в профила си за да коментирате

Трябва да имате регистрация за да може да коментирате това

Регистрирайте се

Създайте нова регистрация в нашия форум. Лесно е!

Нова регистрация

Вход

Имате регистрация? Влезте от тук.

Вход

  • Подобни теми

    • от Gangosa
      Добър вечер, донесоха ми един лаптоп за преинсталация и не знам как да му намеря хард диск .Мисля ,че е изгорял и ако клиента иска ще трябва да купя и да се смени. Ето снимка с модела от биос . Трябва ми хард диск да закупя по интернет и да има доставка до Англия.
      Ето само тази снимка направих 

    • от Tomi-001
      Здравейте...
      имам тежката задача да направя програма за продажби на автомобили... (говорим за кусров проект ) 
      всичко до момента беше добре но ми се наложи да вкарвам и изкаврам в Array информация. До тук се справих но одарих на камък когато се налогаше да напваря тази част от програмата кято да чете всеки един елемтн от Array и един по един да ги премахва или прехвърля в отделен параграф.
      но това трябва да става едно по едно като визуално ги премахва пробвах старомодния начин но той ги прехвърля наведнъж а те трябва да са една по една за да могат да се редактират ако е нужно ...
      кода е подобен на този.
      string[] weekDays2 = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
      просто трябва едно по едно да се преместват или изтриват .
      нещо като лист за обработка на данни
    • от Мирела Александрова
      Имам да направя win приложение на c# - информационна система за мобилни оператори последната ми задача е да изведа всички клиенти , които  имат повече от едно въвеждания на данни и не знам как да я направя. На първата форма , където се записват данните при натискане на бутон запис съм направила да пита дали иска клиента да въведе още веднъж данни.
    • от momski
      Здравейте, имам нужда от помощ . Искам да направя в textbox да може да се въвежда само часове (hh:mm) но не знам как да го сетна  Благодаря ви предварително ! Задачката ми трябва да convert-ва от 24я формат в 12ч формат.. само,че като използвам numericUpDown ми изкарва часовете до 23.12 .. изгубих се съвсем днес с това... а изглеждапе така леснo
    • от shano__
      Здравейте, имам малко затруднение с тази задача:

      Да се състави главна програма за обработка на три масива IM(10x10) и OM(14x14) и  MB(15,15], където данните са  числа в интервала [-99 -  99]. Съответните подпрограми да извършват следните обработки:
      извеждане на условието на задачата и името на автора; въвеждане на входните данни; извеждане на входните данни; да се състави подпрограма кoятo нaмиpa cумата нa вcички eлeмeнти, които лежат  над  главния диагонал и са по-малки от зададено от клавиатурата число К, да се намери техния брой. Ако няма такива елементи да се нулират елементите на последния ред. Резултатите да се изведат на екрана;  Успях да въведа и изведа данните, но с подпрограмата не мога да се справя. Моля за помощ. Благодаря предварително
  • Разглеждащи в момента   0 потребители

    Няма регистрирани потребители разглеждащи тази страница.

  • Дарение

×

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.