Cours:TDs 1103
Td 4 : structures
- include <stdio.h>
- 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;
}