Cours:TDs 1103 : Différence entre versions
(Page créée avec « =={{Bleu|Td 4 : structures}}== <source lang=c> #include <stdio.h> #include <stdlib.h> struct complexe { double pr; double pi; } z1,z2,r; void entree1(); int main() {... ») |
|||
Ligne 1 : | Ligne 1 : | ||
=={{Bleu|Td 4 : structures}}== | =={{Bleu|Td 4 : structures}}== | ||
− | |||
#include <stdio.h> | #include <stdio.h> | ||
#include <stdlib.h> | #include <stdlib.h> | ||
Ligne 12 : | Ligne 11 : | ||
void entree1(); | void entree1(); | ||
+ | void entree2(); | ||
+ | void affichage(); | ||
+ | void somme(); | ||
+ | void diff(); | ||
+ | void mult(); | ||
+ | void carre(); | ||
+ | void cube(); | ||
int main() | int main() | ||
Ligne 25 : | Ligne 31 : | ||
printf("c calcul de z2² U calcul de z1^3\n"); | printf("c calcul de z2² U calcul de z1^3\n"); | ||
printf("q ou Q pour quitter \n"); | printf("q ou Q pour quitter \n"); | ||
− | scanf("%c",&c); | + | 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) | switch (c) | ||
{ | { | ||
case '1': entree1();break; | case '1': entree1();break; | ||
− | + | case '2' : entree2();break; | |
+ | case 'a' : | ||
case 'A' : affichage();break; | case 'A' : affichage();break; | ||
case '+' : somme();break; | case '+' : somme();break; | ||
Ligne 35 : | Ligne 42 : | ||
case '*' : mult();break; | case '*' : mult();break; | ||
case 'c' : carre();break; | case 'c' : carre();break; | ||
− | case 'U' : cube();break; | + | case 'U' : cube();break; |
} | } | ||
} while ((c!='q') &&(c!='Q')); | } while ((c!='q') &&(c!='Q')); | ||
Ligne 49 : | Ligne 56 : | ||
} | } | ||
+ | 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; | ||
+ | } |
Version du 26 novembre 2013 à 22:24
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;
}