Surcharge des Opérateurs

Résolu
omarF Messages postés 82 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 24 novembre 2012 - 17 juil. 2011 à 16:19
BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 - 18 juil. 2011 à 16:48
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

Whismeril Messages postés 19036 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 2 mai 2024 656
17 juil. 2011 à 17:51
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
3
cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
17 juil. 2011 à 18:53
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!
0
omarF Messages postés 82 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 24 novembre 2012
17 juil. 2011 à 20:23
Bonjour,

Merci whismeril pour votre solution.

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

MERCI à vous deux
0
Whismeril Messages postés 19036 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 2 mai 2024 656
17 juil. 2011 à 23:33
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 103
18 juil. 2011 à 16:48
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...
0
Rejoignez-nous