예제 #1
0
        static void Main(string[] args)
        {
            //Si vuole realizzare un programma con l'interfaccia console che esegua le 4 operazioni arirmetiche sui numeri complessi.
            //Il funzionamento consiste nell'inserire i due operandi, scegliere l'operazione desiderata(attraverso un semplice menù a video) e infine dare il risultato.

            int n = SceltaOperazione(); //operazione da eseguire


            Console.WriteLine("Programma complesso di Lorenzo Curzi, 4H");

            Console.WriteLine("Inserire la parte reale del primo numero:");
            double reale1 = RichiestaNumero(); //parte reale del primo numero

            Console.WriteLine("in serire la parte immaginaria del primo numero:");
            double immaginaria1 = RichiestaNumero(); //parte immagianaria del primo numero

            Console.WriteLine("Inserire la parte reale del secondo numero:");
            double reale2 = RichiestaNumero(); //parte reale del secondo numero

            Console.WriteLine("in serire la parte immaginaria del secondo numero:");
            double immaginaria2 = RichiestaNumero(); //parte immagianria del secondo numero


            Complesso Z1 = new Complesso(reale1, immaginaria1);
            Complesso Z2 = new Complesso(reale2, immaginaria2);

            Complesso risultato = new Complesso(0, 0);

            //a seconda della scelta dell'utente chiamo la funzione richiesta
            if (n == 1)
            {
                risultato.Addizione(Z1, Z2);
            }
            else if (n == 2)
            {
                risultato.Sottrazione(Z1, Z2);
            }
            else if (n == 3)
            {
                risultato.Moltiplicazione(Z1, Z2);
            }
            else
            {
                risultato.Divisione(Z1, Z2);
            }



            Console.WriteLine($"Il risultato è: {risultato.reale} + {risultato.immaginario}i"); //comunico il risultato dell'operazione

            //-------------------------------------------------------------------------------------------------------------------------------------------
            //Inserimento del numero tramite modulo e fase

            Console.WriteLine("Inserire il modulo del numero:");
            double modulo = RichiestaNumero();

            modulo = (modulo * Math.PI) / 180;
            Console.WriteLine("Inserire la fase del numero(in gradi):");
            double fase = RichiestaNumero();

            fase = (fase * Math.PI) / 180;                 //converto la fase in radianti

            Complesso Z3 = new Complesso(modulo, fase, 0); //invio modulo e fase al costruttore. Invio anche 0 per distinguire i due costruttori della classe ma non verrà usato come parametro

            Z3.ParteReale(Z3.modulo, Z3.fase);

            Console.WriteLine($"La forma binomiale del numero è: {Z3.reale} + {Z3.immaginario}i");

            Console.WriteLine($"La forma polare del numero è: modulo {Z3.modulo}, fase {Z3.fase}");
        }
예제 #2
0
        static void Main(string[] args)
        {
            //Si vuole realizzare un programma con l'interfaccia console che esegua le 4 operazioni arirmetiche sui numeri complessi.
            //Il funzionamento consiste nell'inserire i due operandi, scegliere l'operazione desiderata(attraverso un semplice menù a video) e infine dare il risultato.

            Console.WriteLine("Programma complesso di Lorenzo Curzi, 4H");

            double reale1;       //parte reale del primo numero
            double immaginaria1; //parte immagianria del primo numero

            do
            {
                Console.WriteLine("Inserire la parte reale del primo numero complesso:");
                string strReale1 = Console.ReadLine();
                double.TryParse(strReale1, out reale1);
            } while (reale1 < 0);

            do
            {
                Console.WriteLine("Inserire la parte immaginaria del primo numero complesso:");
                string strImmaginaria1 = Console.ReadLine();
                double.TryParse(strImmaginaria1, out immaginaria1);
            } while (immaginaria1 < 0);


            double reale2;       //parte reale del secondo numero
            double immaginaria2; //parte immagianria del secondo numero

            do
            {
                Console.WriteLine("Inserire la parte reale del secondo numero complesso:");
                string strReale2 = Console.ReadLine();
                double.TryParse(strReale2, out reale2);
            } while (reale2 < 0);

            do
            {
                Console.WriteLine("Inserire la parte immaginaria del secondo numero complesso:");
                string strImmaginaria2 = Console.ReadLine();
                double.TryParse(strImmaginaria2, out immaginaria2);
            } while (immaginaria2 < 0);



            Complesso Z1 = new Complesso(reale1, immaginaria1);
            Complesso Z2 = new Complesso(reale2, immaginaria2);

            int n = 0;   //operazione da eseguire

            while (true) //ciclo per chiedere l'operazione da eseguire
            {
                Console.WriteLine("Che operazione si desidera svolegere?");
                Console.WriteLine("1: addizione");
                Console.WriteLine("2: sottrazione");
                Console.WriteLine("3: moltiplicazione");
                Console.WriteLine("4: divisione");

                string strN = Console.ReadLine(); //richiedo il numero

                int.TryParse(strN, out n);

                if (n == 1 || n == 2 || n == 3 || n == 4)
                {
                    break;
                }
                else
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("Numero sbagliato! Assciurarsi di selezionare la operazione desiderata");
                    Console.ForegroundColor = ConsoleColor.White;
                }
            }

            Complesso risultato = new Complesso(0, 0);

            //a seconda della scelta dell'utente chiamo la funzione richiesta
            if (n == 1)
            {
                risultato.Addizione(Z1, Z2);
            }
            else if (n == 2)
            {
                risultato.Sottrazione(Z1, Z2);
            }
            else if (n == 3)
            {
                risultato.Moltiplicazione(Z1, Z2);
            }
            else
            {
                risultato.Divisione(Z1, Z2);
            }


            Console.WriteLine($"Il risultato è: {risultato.reale} + {risultato.immaginario}i");
        }