L'utilité des pointeurs
Fermé
manutd1993
Messages postés
19
Statut
Membre
-
fiddy Messages postés 11653 Statut Contributeur -
fiddy Messages postés 11653 Statut Contributeur -
Bonjour
Voilà pour un exercice de cours j'ai créer une fonction qui simplifie une fraction dans laquelle j'ai utilisé un pointeur mais je ne comprend pas son utilité dans le code.
voici mon code :
Voilà pour un exercice de cours j'ai créer une fonction qui simplifie une fraction dans laquelle j'ai utilisé un pointeur mais je ne comprend pas son utilité dans le code.
voici mon code :
void simplifierFraction(int *x, int *y) { // x correspond au numérateur et y au denominateur
int div;
for (div = 2; div <=*x && div <=*y; div++){ //initialise div à 2/condition= tant que div plus petit ou égal à *x et *y/incrémenter
while((*x % div == 0) && (*y %div == 0)){ // les pointeurs sont le seul moyen de changer le contenu
*x = *x/div; // de variables déclarées dans d'autres fonctions.
*y = *y/div;
}
}
}
void addition (int num1, int den1,int num2, int den2, int *x, int *y) {
*x=(num1*den2)+(den1*num2);
*y=(den2*den1);
simplifierFraction(x,y);
}
void soustraction (int num1, int den1,int num2, int den2, int *x, int *y){
*x=(num1*den2)-(den1*num2);
*y=(den2*den1);
simplifierFraction(x,y);
}
void multiplication (int num1, int den1,int num2, int den2, int *x, int *y){
*x=(num1*num2);
*y=(den1*den2);
simplifierFraction(x,y);
}
void division (int num1, int den1,int num2, int den2, int *x, int *y){
*x=(num1*den2);
*y=(den1*num2);
simplifierFraction(x,y);
}
int main(void)
{
int num1, den1;
int num2, den2;
char op;
int ret;
int x, y;
char demande = 'o';
do{
printf("Veuillez entrer votre calcul: \n");
ret=scanf("%d/%d%c%d/%d",&num1, &den1,&op,&num2, &den2);
buffer();
if (ret == 5) {
switch(op) {
case '+':
addition(num1, den1, num2, den2,&x,&y);
break;
case '-':
soustraction(num1, den1, num2, den2,&x,&y);
break;
case '*':
multiplication(num1, den1, num2, den2,&x,&y);
break;
case '/':
division(num1, den1, num2, den2,&x,&y);
break;
}
}
printf("Result=%d/%d\n",x,y);
printf("Voulez vous calculer de nouveau?\noui/non?");
scanf("%c",&demande);
buffer();
}while(demande=='o');
return 0;
}
A voir également:
- L'utilité des pointeurs
- Glary utilite - Télécharger - Nettoyage
- Utilité tableau croisé dynamique - Guide
- Google drive utilité - Guide
- Java utilité ✓ - Forum Java
- Pointeurs satellites - Forum TNT / Satellite / Réception
1 réponse
Merci d'éviter les doublons... => https://forums.commentcamarche.net/forum/affich-30821761-lecture#p30875502