Cours:TDs 1103 : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
({{Bleu|Td 4 : fichiers}})
 
(74 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
=={{Bleu|Td 4 : structures}}==
+
__NOTOC__ __NOEDITSECTION__
  
<source lang=c>
+
=ide=
#include <stdio.h>
 
#include <stdlib.h>
 
  
struct complexe
+
Nous écrirons des programmes en c++ et utiliserons un ide en ligne, par exemple :
{
+
*[https://www.onlinegdb.com/online_c++_compiler OnlineGDB]
double pr;
+
*[https://replit.com/languages/cpp replit]
double pi;
 
} z1,z2,r;
 
  
void entree1();
 
void entree2();
 
void affichage();
 
void somme();
 
void diff();
 
void mult();
 
void carre();
 
void cube();
 
  
int main()
+
=Enoncés de td=
{
 
char c;
 
  
do
+
*[[Cours:Cin/Cout|TD 1 : Entrée-sortie en C++]]
{
+
*[[Cours:Caisse|TD 2 : Caisse enregistreuse]]
printf("Arithmetique complexe\n");
+
*[[Cours:tabChar|TD 3 : Chaînes de caractères]]
printf("1 : saise 1er nombre          2: saisie 2ème nbre\n");
+
*[[Cours:TdComplexe|TD 4 : Utilisation d'une structure]]
printf("A ... affiche res            + calcul de z1+z2\n");
+
*[[Cours:TdFonctionsTableaux|TD 5 : Travail sur les fonctions et tableaux]]
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()
+
=liens=
{
 
printf("partie reelle = ");
 
scanf("%lf",&z1.pr);
 
printf("partie imaginaire = ");
 
scanf("%lf",&z1.pi);
 
}
 
  
void entree2()
+
*[[Media:InfoS1ReferencesPointeurs.pdf]]
{
 
printf("partie reelle = ");
 
scanf("%lf",&z2.pr);
 
printf("partie imaginaire = ");
 
scanf("%lf",&z2.pi);
 
}
 
  
void affichage()
+
=Archives=
{
+
[[Cours:historiqueInfoS1]]
    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;
 
}
 
</source>
 
 
 
=={{Bleu|Td 5 : fichiers}}==
 
 
 
<source lang=c>
 
#include <stdio.h>
 
#include <stdlib.h>
 
 
 
 
 
int main()
 
{
 
    FILE *f;
 
 
 
    f=fopen("test.txt","w+t");                          // ouverture du fichier test.txt en écriture
 
    if (f==NULL) {
 
        printf("Erreur à l'ouverture du fichier !\\n");
 
        exit(-1);                                      // fin du programme avec code d'erreur -1
 
    }
 
    fprintf(f,"bonjour !");                            // écriture dans le fichier du message bonjour !
 
    fclose(f);                                          // fermeture du fichier
 
    exit(0);                                            // fin du programme
 
}
 
 
 
</source>
 

Version actuelle datée du 24 novembre 2022 à 10:06