Cours:TdComplexe
Travail sur les complexes en C++
On cherche à écrire un programme permettant le calcul arithmétique de base sur les nombres complexes
Or, on ne peut stocker un complexe dans une variable car il n’existe pas en langage C de type complexe. En définissant une structure représentant les complexes, on peut alors créer un "nouveau" type de variable pour y stocker des complexes.
Utilisons, par exemple, la représentation cartésienne d’un complexe: partie réelle et partie imaginaire. Le code suivant décrit la structure complexe et déclare trois variables: z1, z2, et r.
struct Complexe {
double pr;
double pi;
};
struct Complexe z1, z2, r;
int main()
{
return 0;
}
Cette structure est donc constituée de deux champs: le champs pr (resp. pi), de type double et qui peut contenir la partie réelle (resp. partie imaginaire) d’un nombre complexe.
L’utilisation de cette structure est simple: si l’on veut stocker 3+4i dans z1, il suffit d’écrire:
...
z1.pr=3;
z1.pi=4;
...
On peut bien évidemment faire un calcul en utilisant les champs de la structure :
...
// ex d'une rotation de ???
z2.pr=-z1.pi;
z2.pi=z1.pr;
...
Exercice
Ecrire le gestionnaire de menu permettant d’afficher et de gérer l’écran suivant:
A R I T H M E T I Q U E C O M P L E X E ------------------------------------------- 1 ... Entrée du 1er nb complexe 2 ... Entrée du 2ième nb complexe A ... Affichage du résultat + ... Somme - ... Soustraction * ... Multiplication C ... Carré U ... Cube
Ce gestionnaire de menu aiguillera le traitement suivant le choix désiré de la façon représentée sur le tableau suivant.
Choix Fonction appelée Rôle ------- ------------------ ---------------------------------- 1 entree1() entre un complexe dans z1 2 entree2() entre un complexe dans z2 A affichage() affiche r + somme() calcule z1+z2, range dans r - diff() calcule z1-z2, range dans r * mult() calcule z1*z2, range dans r C carre() calcule z1*z1, range dans r U cube() calcule z1 au cube, range dans r
On notera que pour simplifier, on déclarera z1, z2, et r en variables globales ( cad connues par toutes les fonctions). Ecrire les différentes fonctions référencées dans le tableau ci-dessus.