salut,

l'enoncé de mon probleme est le suivant :

Les rationnels peuvent être vus comme des couples d’entiers, la fraction 2/5 par exemple est
représentée par le couple (2,5).
Pour manipuler les rationnels il faut définir le type Rationnel, et implanter leur arithmétique
(addition, multiplication, ..).
1- Définir le type Rationnel.
2- Ecrire une fonction void PrintRat (Rationnel R) qui permet d’afficher un rationnel.
3- Ecrire une fonction void SetRat (Rationnel *R) qui permet de saisir un rationnel.
4- Ecrire une fonction Rationnel AddRat(Rationnel R1 , Rationnel R2) qui additionne deux
rationnels
5- Ecrire une fonction Rationnel ProdRat(Rationnel R1, Rationnel R2) qui calcule le produit de
deux rationnels
6- Ecrire une fonction Rationnel QuotRat(Rationnel R1, Rationnel R2) qui calcule le quotient de
deux rationnels
7- Ecrire une fonction Rationnel RedtRat(Rationnel R) qui permet la réduction, sous forme
irréductible, d’un rationnel exemple 6/8 3/4 :
8- Ecrire une fonction AddTabRat(Rationnel tab[], int n) qui permet d’additionner un tableau de n rationnels.




ma solution est :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
 
#include<stdio.h>
#include<conio.h>
typedef struct
{
 int n1;
 int n2;
 }Rationnel;
 
 
 void PrintRat (Rationnel  R)
 {printf("l'entier 1 est %d",R.n1);
 printf("l'entier 2	est %d",R.n2);
 }
 
 
 void SetRat (Rationnel *R)
 {
 printf(" donner le premier entier :");
 scanf("%d",&R->n1);
 printf("donner le deuxiemme entier :");
 scanf("%d",&R->n2);
 }
 
 Rationnel AddRat(Rationnel R1,Rationnel R2)
 {Rationnel R3;
 R3.n1=R1.n1+R2.n1;
 R3.n2=R1.n2+R2.n2;
 return R3;
 }
 
 Rationnel ProdRat(Rationnel R1,Rationnel R2)
 {
 Rationnel R3;
 R3.n1=R1.n1*R2.n1;
 R3.n2=R1.n2*R2.n2;
 return R3;
 }
 
 Rationnel QuotRat(Rationnel R1,Rationnel R2)
 { Rationnel R3;
 if(R2.n1!=0)
 R3.n1=R1.n1/R2.n1;
 else
 printf("ereur");
 if(R2.n2!=0)
 R3.n2=R1.n2/R2.n2;
 else
 printf("ereur");
 return R3;
 }
 
 void main()
 {
  Rationnel K,K1,K2;
  SetRat(&K);
  PrintRat(K);
  K=AddRat(K1,K2);
  printf("oui");
  K=ProdRat(K1,K2);
  K=QuotRat(K1,K2);
  getch();
  }
je n'arrive pas a compliter 7 et 8

pouriez vous m'aidez a le compliter

et coriger ce code

merci d'avance