#include <stdio.h>
#include <stdlib.h>
typedef struct complexe complexe;
struct complexe //structure
{
float re;
float im;
};
complexe saisir(void) //fonction dont on ne rentre aucune valeur(void) et ou l'on récupére la valeur de"complexe"
{
complexe a; //on détermine le type de a
char b;
printf("entrez un nombre complexe:");
scanf("%f%c%f%c",&(a.re),&b,&(a.im),&b); //a est stocké dans re puis %c est stocké dans b
//a est restocké dans im puis %c écrase b
return a; // on récupére a en sortie de fonction
}
void afficher (complexe a) //on retourne rien et on rentre une valeur
{
printf("%f+%fi",(a.re),(a.im));
}
complexe add(complexe a,complexe b)
{
complexe resultat;
resultat.im=(a.im)+(b.im);
resultat.re=(a.re)+(b.re);
return resultat;
}
complexe mul(complexe a,complexe b)
{
complexe resultat;
resultat.im=(a.re*b.re)-(a.im*b.im);
resultat.re=(a.re*b.im)+(a.im*b.re);
return resultat;
}
int main()
{
complexe a,b,c,d;
a=saisir();
b=saisir();
c=add(a,b);
d=mul(a,b);
printf("addition: ");
afficher(c);
printf("\n");
printf ("multiplication: ");
afficher(d);
printf("\n");
}