示例#1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Programma poligoni regolari, scritto Christian Bronzetti, 4H");

            int    nLati, lato;
            string strNLati, strLato;



            while (true)
            {
                Console.WriteLine("Inserire il numero dei lati");
                strNLati = Console.ReadLine();
                bool andataBene = Int32.TryParse(strNLati, out nLati);
                if (andataBene)
                {
                    if (nLati > 0)
                    {
                        break;
                    }
                }
            }
            ;

            while (true)
            {
                Console.WriteLine("Inserire la lunghezza del lato");
                strLato = Console.ReadLine();
                bool andataBene = Int32.TryParse(strLato, out lato);
                if (andataBene)
                {
                    if (lato > 0)
                    {
                        break;
                    }
                }
            }
            ;

            Console.WriteLine("Scegliere cosa vuoi fare:\n- Inserire 1 per calcolare l'apotema\n- Inserire 2 per calolare il perimetro\n- Inserire 3 per calcolare l'area");
            string strScelta;
            int    scelta;

            while (true)
            {
                strScelta = Console.ReadLine();
                bool andataBene = Int32.TryParse(strScelta, out scelta);
                if (andataBene)
                {
                    if (scelta > 0 && scelta < 5)
                    {
                        break;
                    }
                }
            }
            ;

            Poligono pol1 = new Poligono(lato, nLati);

            //Poligono pol1 = new Poligono(nLati); //chiama un metodo che crea un poligono di nLati e lato 1
            //Poligono pol1 = new Poligono(); //chaimma un metodo che crea un poligono (quadrato 1x1) di lato 1 e nLati=1;
            switch (scelta)
            {
            case 1:
                pol1.CalcolaApotema(pol1);
                Console.WriteLine($"L'apotema del poligono è {Math.Round(pol1.apotema,3)}");
                break;

            case 2:
                pol1.CalcolaPerimetro(pol1);
                Console.WriteLine($"Il perimetro del poligono è {pol1.perimetro}");
                break;

            case 3:
                pol1.CalcolaArea(pol1);
                Console.WriteLine($"L'area del poligono è {Math.Round(pol1.area, 3)}");
                break;
            }

            string nomeP = pol1.Stampa(pol1);

            Console.WriteLine($"Il nome del poligono è {nomeP}");
            Console.WriteLine("Inserire i dati di un nuovo poligono da confrontare");
            while (true)
            {
                Console.WriteLine("Inserire il numero dei lati");
                strNLati = Console.ReadLine();
                bool andataBene = Int32.TryParse(strNLati, out nLati);
                if (andataBene)
                {
                    if (nLati > 0)
                    {
                        break;
                    }
                }
            }
            ;

            while (true)
            {
                Console.WriteLine("Inserire la lunghezza del lato");
                strLato = Console.ReadLine();
                bool andataBene = Int32.TryParse(strLato, out lato);
                if (andataBene)
                {
                    if (lato > 0)
                    {
                        break;
                    }
                }
            }
            ;

            Poligono pol2      = new Poligono(lato, nLati);
            string   confronto = pol1.Confronta(pol1, pol2);

            Console.WriteLine(confronto);
        }
示例#2
0
 public void CalcolaArea(Poligono p1)
 {
     p1.CalcolaPerimetro(p1); //chiamo metodo che mi calcola il perimetro
     p1.CalcolaApotema(p1);
     area = p1.perimetro * p1.apotema / 2;
 }