Arrondi
f4E
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
Bonsoir je besoin de votre aide pour ce: Programme qui fourni l' arrondi inferieur, l'arrondi superieur, et la valeur absolu d'un nombre réel saisi sans faire appel à la bibliotheque math.h
#include <stdio.h> #include <stdlib.h> int main() { float a,b,c,n,R; int choix; printf(" Selon le choix Chercher: \n"); printf(" 1.L'arrondi superieur/inferieur\n"); printf(" 2.La valeur absolue\n"); printf(" Donnez votre choix \n"); scanf("%d",&choix); if (choix==1) { printf(" Saisissez les parametres a et b\n"); scanf("%f%f",&a,&b); c=0.5; R=a-b; if (R>0.5) { n=a; printf(" On a comme arrondi superieur n=%.0f\n ",n); } else { n=a; printf(" On a comme arrondi inferieur n=%.0f \n ",n); } } else if(choix==2) { printf(" Donner encore les parametres a et b\n"); scanf("%f%f",&a,&b); R=a+b; if (R<0) { R=R*(-1); printf(" le resultat donne R=%f\n",R); } else { printf(" le resultat donne R=%f\n",R); } } else { printf("Maths error \n"); } return 0; }
2 réponses
Salut f4E,
Un printf avec un spécificateur "%.0f" procédera à l'arrondi à l'entier près, selon les règles d'arrondi de l'implémentation du C (la règle n'est pas spécifiée dans le standard du C) et tu ne contrôles pas le processus d'arrondi (tes tests et soustraction sont donc inutiles et le fait de demander deux "paramètres" incompréhensible).
Si tu veux contrôler le processus d'arrondi dans ton code, en appliquant des règles d'arrondi définies que tu implémentes dans tes tests, et sans utiliser math.h tu peux le faire en récupérant la partie décimale de la saisie :
Dal
Un printf avec un spécificateur "%.0f" procédera à l'arrondi à l'entier près, selon les règles d'arrondi de l'implémentation du C (la règle n'est pas spécifiée dans le standard du C) et tu ne contrôles pas le processus d'arrondi (tes tests et soustraction sont donc inutiles et le fait de demander deux "paramètres" incompréhensible).
Si tu veux contrôler le processus d'arrondi dans ton code, en appliquant des règles d'arrondi définies que tu implémentes dans tes tests, et sans utiliser math.h tu peux le faire en récupérant la partie décimale de la saisie :
- demander un nombre float (ou double) avec une partie décimale
- affecter la partie entière de ce nombre dans un int (il suffit d'affecter le float à une variable de type int)
- faire la soustraction du premier par le deuxième pour récupérer la partie décimale dans un nouveau float
Dal
Le problème est que j'arrive pas à trouver les arrondi
Quel est le résultat obtenu vs celui désiré ?
Qu'as-tu vérifié et testé ?