L'utilité des pointeurs
Fermé
manutd1993
Messages postés
19
Statut
Membre
-
fiddy Messages postés 11653 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11653 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
- Utilité tableau croisé dynamique - Guide
- Java utilité ✓ - Forum Java
- Pointeurs satellites - Forum TNT / Satellite / Réception
- Manipulation des pointeurs - Forum C
1 réponse
Merci d'éviter les doublons... => https://forums.commentcamarche.net/forum/affich-30821761-lecture#p30875502