/* Bibliotheque Nombres Rationnels */
/* Les fonctions derivent de l'exercice III de la feuille d'exercices 3 */


/* Definition du type Q */

typedef struct rationnel { int ND; } Q;



/* Prototypes */

Q creerQ (int numint den);
/* ENTREE : le numerateur num et le denominateur den!=0
   SORTIE : le nombre rationnel num/den */

  
void afficherQ (Q r);
/* ENTREE : le nombre rationnel r
   Affichage de r sur le standard output */


double approximerQ (Q r);
/* ENTREE : le nombre rationnel r
   SORTIE : une approximation reele de r */


int egalQ (Q r1Q r2);
/* ENTREE : deux nombres rationnels r1 et r2
   SORTIE : 1 si r1=r2 et 0 sinon */


Q produitQ (Q r1Q r2);
/* ENTREE : deux nombres rationnels r1 et r2
   SORTIE : r1*r2 */


Q divisionQ (Q r1Q r2);
/* ENTREE : deux nombres rationnels r1 et r2!=0
   SORTIE : r1/r2 */


Q sommeQ (Q r1Q r2);
/* ENTREE : deux nombres rationnels r1 et r2
   SORTIE : r1+r2 */


Q irreductibleQ (Q r);
/* ENTREE : un nombre rationnel r
   SORTIE : r sous forme irreductible */