TP 8, codes sources
Programme 1:
#include <stdio.h>
#include <stdlib.h>
typedef struct {int x;int y;}tPoint;
tPoint p1,p2={0,300},p3;
int main(){
p1.x=150;
p1.y=103;
printf("Les coordonnees du point p1 sont (%d,%d)\n",p1.x,p1.y);
printf("Les coordonnees du point p2 sont (%d,%d)\n",p2.x,p2.y);
printf("Saisir les coordonnees du point p3\n");
scanf("%d %d",&(p3.x),&(p3.y));
printf("Les coordonnees du point p3 sont donc (%d,%d)\n",p3.x,p3.y);
return 0;
}
Programme 2: le programme oublié
#include <stdio.h>
typedef struct {
int jour;
int mois;
int annee;
}tDate;
typedef struct {
int id;
char nom[21];
tDate ddn;
float note[3];
float moy;
}tEtudiant;
tEtudiant etudiant;
int main(){
int i;
printf("\nIdentifiant:");
scanf("%d",&etudiant.id);
printf("Nom:");
scanf("%s",etudiant.nom);
printf("jour de naissance:");
scanf("%d",&etudiant.ddn.jour);
printf("mois de naissance:");
scanf("%d",&etudiant.ddn.mois);
printf("annee de naissance:");
scanf("%d",&etudiant.ddn.annee);
etudiant.moy=0;
for(i=0;i<3;i++){
printf("Note%d:",i+1);
scanf("%f",&(etudiant.note[i]));
etudiant.moy+=etudiant.note[i]/3;
}
printf("\nIdentifiant:%d",etudiant.id);
printf("\nNom:%s",etudiant.nom);
printf("\nDate de naissance:%d/%d/%d\nNotes:",etudiant.ddn.jour,
etudiant.ddn.mois,etudiant.ddn.annee);
for(i=0;i<3;i++){
printf("\tnote%d:%.2f",i+1,(etudiant.note[i]));
}
printf("\nMoyenne:%.2f",etudiant.moy);
return 0;
}
Programme 3:
#include <stdio.h>
#include <stdlib.h>
/*variante1:declaration de structure seulement (ajouter / au debut pour de-commenter)
struct tPoint{int x;int y;}; //
//puis instanciation
struct tPoint p1,p2={0,300},p3; //Enlever struct genere une erreur en C
//*/
/*variante2:declaration de structure et en meme temps instanciation de p1 et p2 (idem)
struct tPoint{int x;int y;} p1,p2={0,300};
//puis instanciation de p3
struct tPoint p3;
//*/
/*variante3:declaration de structure anonyme et en meme temps instanciation des point (idem)
struct {int x;int y;} p1,p2={0,300},p3;
//*/
/*variante4:declaration en associant un nom de type a une structure non anonyme (idem)
typedef struct stPoint{int x;int y;}tPoint;
//puis instanciation avec 2 possibilites
tPoint p1,p2={0,300}; //on n'a pas besoin de struct car tpoint est un alias de struct stPoint
struct stPoint p3; //ici on en a
//*/
//Je vous conseille de maitriser au moin cette derniere version
//*variante5:declaration en associant un nom de type a une structure anonyme (enlever / au debut pour commenter)
typedef struct {int x;int y;}tPoint;
//puis instanciation
tPoint p1,p2={0,300},p3;
//*/
int main(){
p1.x=150;p1.y=103;
printf("Les coordonnees du point p1 sont (%d,%d)\n",p1.x,p1.y);
printf("Les coordonnees du point p2 sont (%d,%d)\n",p2.x,p2.y);
printf("Saisir les coordonnees du point p3\n");
scanf("%d %d",&(p3.x),&(p3.y));
printf("Les coordonnees du point p3 sont donc (%d,%d)\n",p3.x,p3.y);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
typedef struct {int x;int y;}tPoint;
tPoint p1,p2={0,300},p3;
int main(){
p1.x=150;
p1.y=103;
printf("Les coordonnees du point p1 sont (%d,%d)\n",p1.x,p1.y);
printf("Les coordonnees du point p2 sont (%d,%d)\n",p2.x,p2.y);
printf("Saisir les coordonnees du point p3\n");
scanf("%d %d",&(p3.x),&(p3.y));
printf("Les coordonnees du point p3 sont donc (%d,%d)\n",p3.x,p3.y);
return 0;
}
Programme 2: le programme oublié
#include <stdio.h>
typedef struct {
int jour;
int mois;
int annee;
}tDate;
typedef struct {
int id;
char nom[21];
tDate ddn;
float note[3];
float moy;
}tEtudiant;
tEtudiant etudiant;
int main(){
int i;
printf("\nIdentifiant:");
scanf("%d",&etudiant.id);
printf("Nom:");
scanf("%s",etudiant.nom);
printf("jour de naissance:");
scanf("%d",&etudiant.ddn.jour);
printf("mois de naissance:");
scanf("%d",&etudiant.ddn.mois);
printf("annee de naissance:");
scanf("%d",&etudiant.ddn.annee);
etudiant.moy=0;
for(i=0;i<3;i++){
printf("Note%d:",i+1);
scanf("%f",&(etudiant.note[i]));
etudiant.moy+=etudiant.note[i]/3;
}
printf("\nIdentifiant:%d",etudiant.id);
printf("\nNom:%s",etudiant.nom);
printf("\nDate de naissance:%d/%d/%d\nNotes:",etudiant.ddn.jour,
etudiant.ddn.mois,etudiant.ddn.annee);
for(i=0;i<3;i++){
printf("\tnote%d:%.2f",i+1,(etudiant.note[i]));
}
printf("\nMoyenne:%.2f",etudiant.moy);
return 0;
}
Programme 3:
#include <stdio.h>
#include <stdlib.h>
/*variante1:declaration de structure seulement (ajouter / au debut pour de-commenter)
struct tPoint{int x;int y;}; //
//puis instanciation
struct tPoint p1,p2={0,300},p3; //Enlever struct genere une erreur en C
//*/
/*variante2:declaration de structure et en meme temps instanciation de p1 et p2 (idem)
struct tPoint{int x;int y;} p1,p2={0,300};
//puis instanciation de p3
struct tPoint p3;
//*/
/*variante3:declaration de structure anonyme et en meme temps instanciation des point (idem)
struct {int x;int y;} p1,p2={0,300},p3;
//*/
/*variante4:declaration en associant un nom de type a une structure non anonyme (idem)
typedef struct stPoint{int x;int y;}tPoint;
//puis instanciation avec 2 possibilites
tPoint p1,p2={0,300}; //on n'a pas besoin de struct car tpoint est un alias de struct stPoint
struct stPoint p3; //ici on en a
//*/
//Je vous conseille de maitriser au moin cette derniere version
//*variante5:declaration en associant un nom de type a une structure anonyme (enlever / au debut pour commenter)
typedef struct {int x;int y;}tPoint;
//puis instanciation
tPoint p1,p2={0,300},p3;
//*/
int main(){
p1.x=150;p1.y=103;
printf("Les coordonnees du point p1 sont (%d,%d)\n",p1.x,p1.y);
printf("Les coordonnees du point p2 sont (%d,%d)\n",p2.x,p2.y);
printf("Saisir les coordonnees du point p3\n");
scanf("%d %d",&(p3.x),&(p3.y));
printf("Les coordonnees du point p3 sont donc (%d,%d)\n",p3.x,p3.y);
return 0;
}
Comments
Post a Comment