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;
}

Comments

Popular Posts