Cours:TDs 1103

De troyesGEII
Aller à : navigation, rechercher

Td 4 : structures

  1. include <stdio.h>
  2. include <stdlib.h>

struct complexe { double pr; double pi; } z1,z2,r;

void entree1(); void entree2(); void affichage(); void somme(); void diff(); void mult(); void carre(); void cube();

int main() { char c;

do { printf("Arithmetique complexe\n"); printf("1 : saise 1er nombre 2: saisie 2ème nbre\n"); printf("A ... affiche res + calcul de z1+z2\n"); printf("- calcul de z1-z2 * calcul de z1xz2\n"); printf("c calcul de z2² U calcul de z1^3\n"); printf("q ou Q pour quitter \n"); do scanf("%c",&c); while (c=='\n'); // La touche "entrée" n'est pas toujours récupérée par le scanf précédent switch (c) { case '1': entree1();break; case '2' : entree2();break; case 'a' : case 'A' : affichage();break; case '+' : somme();break; case '-' : diff();break; case '*' : mult();break; case 'c' : carre();break; case 'U' : cube();break; } } while ((c!='q') &&(c!='Q'));

   return 0;

}

void entree1() { printf("partie reelle = "); scanf("%lf",&z1.pr); printf("partie imaginaire = "); scanf("%lf",&z1.pi); }

void entree2() { printf("partie reelle = "); scanf("%lf",&z2.pr); printf("partie imaginaire = "); scanf("%lf",&z2.pi); }

void affichage() {

   if (r.pi>0)       printf("r = %.2lf + %.2f i \n",r.pr,r.pi);
   else if (r.pi==0) printf("r = %.2lf \n",r.pr,r.pi);
   else              printf("r = %.2lf - %.2f i \n",r.pr,-r.pi);

}

void somme() {

   r.pr=z1.pr+z2.pr;
   r.pi=z1.pr+z2.pi;

}

void diff() {

   r.pr=z1.pr-z2.pr;
   r.pi=z1.pr-z2.pi;

}

void mult() {

   r.pr=z1.pr*z1.pr-z2.pi*z2.pi;
   r.pi=z1.pr*z2.pi+z1.pi*z2.pr;

}

void carre() {

   r.pr=z1.pr*z1.pr-z1.pi*z1.pi;
   r.pi=2*z1.pr*z1.pi;

}

void cube() {

   r.pr=z1.pr*z1.pr*z1.pr-3*z1.pr*z1.pi*z1.pi;
   r.pi=3*z1.pr*z1.pr*z1.pi-z1.pi*z1.pi*z1.pi;

}