Surcharge des Opérateurs [Résolu]

Signaler
Messages postés
82
Date d'inscription
dimanche 25 janvier 2009
Statut
Membre
Dernière intervention
24 novembre 2012
-
Messages postés
14934
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
15 janvier 2021
-
Bonjour,

S'il vous plait je voudrai modifier mon code de telle sorte que je puisse saisir à la main les deux chiffres complexe et non pas qu'ils soient donnés dans le code comme cette exemple

voici mon code :
public class Complexe
    {

           public int real;
           public int imaginary;
           public Complexe( int Myreal, int Myimaginary)
           {
               real = Myreal;
               imaginary = Myimaginary;
           }
           
           
            public static Complexe operator +(Complexe c1, Complexe c2)
            {
                return new Complexe(c1.real + c2.real, c1.imaginary + c2.imaginary);
            }

            //Overrride the methode TOString to display Format Complexe
            public override string ToString()
            {
                return (string.Format("{0}+{1}i", real, imaginary));
            }

            static void Main(string[] args)
            {
               
                Complexe num1 = new Complexe(3,1);
                Complexe num2 = new Complexe(2,8);
                Complexe sum = num1 + num2;
                //Add two complexe Object num 1 et num 2
                Console.WriteLine();
                Console.WriteLine("the first number is {0}", num1);
                Console.ReadLine();
                Console.WriteLine("the Seconde number is {0}", num2);
                Console.ReadLine();
                Console.WriteLine("the sum of two numbers is {0}", sum);
                Console.ReadLine();
            }
       
    }

Merci pour votre aide en avance

5 réponses

Messages postés
15399
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 janvier 2021
501
Bonjour

modifie ton Main
            static void Main(string[] args)
            {
               
                //Complexe num1 = new Complexe(3,1);
                Console.WriteLine("Saisir la partie réelle");
                int N =  Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("Saisir la partie complexe");
                int N2 =  Convert.ToInt32(Console.ReadLine());
                Complexe num1 = new Complexe(N,N2);

                Complexe num2 = new Complexe(2,8);
                Complexe sum = num1 + num2;
                //Add two complexe Object num 1 et num 2
                Console.WriteLine();
                Console.WriteLine("the first number is {0}", num1);
                Console.ReadLine();
                Console.WriteLine("the Seconde number is {0}", num2);
                Console.ReadLine();
                Console.WriteLine("the sum of two numbers is {0}", sum);
                Console.ReadLine();
            }



Whismeril
Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
29
Bonjour,

ou encore :
Complexe num1=null;
Complexe num2=null;

do
{
try
{
Console.WriteLine("Entrez le " + (num1 == null ? "premier" : "second") + " nombre complexe (reel,complexe)");
string inputString=Console.ReadLine();
//sortie
if (inputString == "") return;

string[] elements = inputString.Split(',');
if (elements.Length == 2)
{
if (num1==null)
num1 = new Complexe(int.Parse(elements[0], CultureInfo.InvariantCulture), int.Parse(elements[1], CultureInfo.InvariantCulture));
else
num2 = new Complexe(int.Parse(elements[0], CultureInfo.InvariantCulture), int.Parse(elements[1], CultureInfo.InvariantCulture));
}
else
Console.WriteLine("Erreur de saisie");
}
catch
{
Console.WriteLine("Erreur dans le format saisi");
}
} while (num1 null || num2 null);

Bob.
C# is amazing, enjoy it!
Messages postés
82
Date d'inscription
dimanche 25 janvier 2009
Statut
Membre
Dernière intervention
24 novembre 2012

Bonjour,

Merci whismeril pour votre solution.

Robert33 votre solution est assez compliqué, je prefere la solution de whismeril

MERCI à vous deux
Messages postés
15399
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 janvier 2021
501
Bonsoir,

ma solution est certes simple mais si tu ne tapes pas de nombre, elle buggera.
Robert33 l'a anticipé...
Sa solution est donc meilleure.

Whismeril
Messages postés
14934
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
15 janvier 2021
93
Hello,
Merci de valider une réponse avec le bouton "réponse acceptée".


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...