82 lines
1.1 KiB
C
82 lines
1.1 KiB
C
#include<stdio.h>
|
|
#include<stdlib.h>
|
|
#include<math.h>
|
|
|
|
typedef struct NombreImaginaire{
|
|
double x;
|
|
double z;
|
|
char signe;
|
|
|
|
} imaginaire;
|
|
|
|
|
|
double module(imaginaire I);
|
|
void afficheI(imaginaire I);
|
|
void conjugue(imaginaire I);
|
|
|
|
|
|
int main(void){
|
|
|
|
|
|
|
|
imaginaire numI;
|
|
|
|
|
|
printf("Veuillez entrez un la partie reel: \n");
|
|
scanf("%lf", &numI.x);
|
|
|
|
printf("Veuillez entrez un le signe: \n");
|
|
scanf("%c ", &numI.signe);
|
|
|
|
printf("Veuillez entrez un la partie imaginaire: \n");
|
|
scanf("%lf", &numI.z);
|
|
|
|
printf("Le nombre imaginaire z est ");
|
|
|
|
printf("Le module de z = ");
|
|
afficheI(numI);
|
|
printf("est %0.2lf\n", module(numI));
|
|
|
|
printf("le conjugué de z = \n");
|
|
conjugue(numI);
|
|
|
|
|
|
return EXIT_SUCCESS;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
double module(imaginaire I){
|
|
|
|
double moduleI=0.0;
|
|
|
|
moduleI= sqrt((I.x*I.x)+(I.z*I.z)); //preferable de ne pas utiliser pow pour les perf du prgrm car la puissance est petite (²)
|
|
|
|
return moduleI;
|
|
}
|
|
|
|
void conjugue(imaginaire I){
|
|
|
|
|
|
if (I.signe=='-')
|
|
{
|
|
I.signe='+';
|
|
|
|
}else I.signe='-';
|
|
|
|
afficheI(I);
|
|
}
|
|
|
|
|
|
void afficheI(imaginaire I){
|
|
|
|
printf("%0.2lf%c%0.2lfi \n",I.x,I.signe,I.z);
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|