Exercice langage C: Les complexes

Pour représenter un nombre complexe, définir un type de structure qui contient deux flottants, la partie réelle et la partie imaginaire.

  1. écrire une fonction permettant de saisir un complexe passé en paramètre
  2. écrire une fonction permettant d'afficher un complexe passé en paramètre
  3. écrire une fonction d'addition qui reçoit en paramètre deux complexes, qui fait la somme des deux et range le résultat dans le premier
  4. écrire une fonction main qui :
    • saisit deux complexes c1 et c2
    • ajoute c2 à c1
    • affiche c1 après l'ajout

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include 

struct complexe
{
	double p_reel;	/* partie reelle */
	double p_imag;  /* partie imaginaire */
};

typedef struct complexe Complexe;

void saisir(Complexe *pc);
void afficher(Complexe c);
void ajouter(Complexe *pc1, Complexe c2);

int main()
{
	Complexe var1, var2;
	printf("Saisie premier complexe : ");
	saisir(&var1);
	printf("Saisie second complexe : ");
	saisir(&var2);

	ajouter(&var1, var2);

	printf("Affichage premier complexe : ");
	afficher(var1);
	printf("\nAffichage second complexe : ");
	afficher(var2);
	printf("\n");
	return 0;
}

void saisir(Complexe *pc)
{
	printf("\nRe: ");
	scanf("%lf", & (*pc).p_reel);
	printf("Im: ");
	scanf("%lf", & pc->p_imag);
}

void afficher(Complexe c)
{
	printf("%f + %f i", c.p_reel, c.p_imag);
}

void ajouter(Complexe *pc1, Complexe c2)
{
	(*pc1).p_reel += c2.p_reel;
	pc1->p_imag += c2.p_imag;
}