Sformułowanie if

Odpowiedz Nowy wątek
2019-01-12 12:43
0

Witam czy istnieje jakiś sposób żeby w łatwiejszy sposób ustawić if'a?

class Program
{
static void Main(string[] args)
{
czworokat czwo = new czworokat();
czwo.pierwszyBok = 50;
czwo.drugiBok = 50;
czwo.trzecbiok = 50;
czwo.czwartyBok = 20;
czwo.CzyRomb();
Console.ReadKey();
}

    class czworokat
    {
       public int pierwszyBok ;
        public int drugiBok ;
        public int trzecbiok ;           
        public int czwartyBok ;

        public void CzyRomb()
        {
            if (pierwszyBok == drugiBok && drugiBok == trzecbiok && trzecbiok == czwartyBok && pierwszyBok>0 && drugiBok>0 && trzecbiok>0 && czwartyBok>0)
            {
                Console.WriteLine("Jest rombem i wszystkie boki sa dodatnie");
            }

            else
            {
                Console.WriteLine("Nie jest rombem lub boki sa ujemne ");
            }

        }

    }

Program ma za zadanie sprawdzić czy wszystkie boki są równe i czy nie są ujemne. (Wiem że powinienem osobno dodać elae od)

Jak tytułować wątki na forum - np. W jaki sposób sprawdzić czy dana figura jest rombem?. - Patryk27 2019-01-12 12:52

Pozostało 580 znaków

2019-01-12 12:49
1

skoro mają być równe, to wystarczy tylko jedno sprawdzenie czy bok jest większy od zera

  if (pierwszyBok == drugiBok && drugiBok == trzecbiok && trzecbiok == czwartyBok && pierwszyBok>0)
A jakby to jeszcze zapakować do funkcji zwracającej bool, to już w ogóle będzie czytelnie i inżyniersko. :D - Tenonymous 2019-01-12 23:56

Pozostało 580 znaków

2019-01-12 12:59
0

Skoro badasz czy boki są równe, to wystarczy sprawdzić czy tylko jeden z nich jest większy od 0;

Pozostało 580 znaków

2019-01-13 10:29
Biały Krawiec
0

using System;
using System.Linq;

public class Program
{
class Czworokat
{
public int pierwszyBok {
set {
boki[0] = value;
}
}
public int drugiBok {
set {
boki[1] = value;
}
}
public int trzecbiok {
set {
boki[2] = value;
}
}
public int czwartyBok {
set {
boki[3] = value;
}
}

    private int[] boki = new int[4];

    public void CzyRomb()
    {
        if (CzyBokiSaRowne() && CzyWszystkieBokiSaNieujemne())
        {
            Console.WriteLine("Jest rombem i wszystkie boki sa dodatnie");
        }

        else
        {
            Console.WriteLine("Nie jest rombem lub boki sa ujemne ");
        }
    }

    private bool CzyBokiSaRowne() {
        return boki.ToList().Distinct().Count()==1;
    }

    private bool CzyWszystkieBokiSaNieujemne() {
        return !boki.ToList().Any(e => e < 0);  
    }
}

public static void Main()
{
    var czwo = new Czworokat();
    czwo.pierwszyBok = 50;
    czwo.drugiBok = 50;
    czwo.trzecbiok = 50;
    czwo.czwartyBok = 50;
    czwo.CzyRomb();
}

}

Pozostało 580 znaków

2019-01-13 11:55
0

OT, sorry. Takie tam przy niedzieli

Czy może istnieć obiekt czworokąt bez przypisania boków (pusty konstruktor)?
Czy może istnieć czworokąt z dowolnymi długościami boków (brak jakiejkolwiek kontroli czy z wpisanych długości da się zamknąć czworokąt)?
Po co są osobne settery dla boków? Można ustawić tylko 3 a nie ustawiać jednego?

Gdyby był konstruktor (int, int, int, int) to od razu można by sprawdzać w konstruktorze czy wartości boków są > 0 i czy to są poprawne długości boków dla czworoboku.

Pozostało 580 znaków

2019-01-13 15:36
0

Gdzie mogę więcej poczytać o tym

private bool CzyBokiSaRowne() {
        return boki.ToList().Distinct().Count()==1;
    }

    private bool CzyWszystkieBokiSaNieujemne() {
        return !boki.ToList().Any(e => e < 0);

Pozostało 580 znaków

2019-01-13 15:47
0

http://itcraftsman.pl/zrozumiec-linq/

szukakj pod linq

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0