L'utilité des pointeurs
Fermé
manutd1993
Messages postés
17
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
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
- Java utilité ✓ - Forum Java
- Utilité tableau croisé dynamique - Guide
- Google drive utilité - Guide
- Processeur utilité - Guide
1 réponse
Merci d'éviter les doublons... => https://forums.commentcamarche.net/forum/affich-30821761-lecture#p30875502