/* Bibliotheque Nombres Rationnels */
/* Les fonctions derivent de l'exercice III de la feuille d'exercices 3 */
/* Definition du type Q */
typedef struct rationnel { int N, D; } Q;
/* Prototypes */
Q creerQ (int num, int 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 r1, Q r2);
/* ENTREE : deux nombres rationnels r1 et r2
SORTIE : 1 si r1=r2 et 0 sinon */
Q produitQ (Q r1, Q r2);
/* ENTREE : deux nombres rationnels r1 et r2
SORTIE : r1*r2 */
Q divisionQ (Q r1, Q r2);
/* ENTREE : deux nombres rationnels r1 et r2!=0
SORTIE : r1/r2 */
Q sommeQ (Q r1, Q 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 */