Arrondi

Fermé
f4E Messages postés 3 Date d'inscription mercredi 26 février 2020 Statut Membre Dernière intervention 29 février 2020 - Modifié le 29 févr. 2020 à 00:48
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 - 4 mars 2020 à 09:50
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

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 330
29 févr. 2020 à 12:43
Quel est le problème ?
0
f4E Messages postés 3 Date d'inscription mercredi 26 février 2020 Statut Membre Dernière intervention 29 février 2020
29 févr. 2020 à 15:47
Bonjour
Le problème est que j'arrive pas à trouver les arrondi
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 330 > f4E Messages postés 3 Date d'inscription mercredi 26 février 2020 Statut Membre Dernière intervention 29 février 2020
1 mars 2020 à 13:44
Pas assez clair,
Quel est le résultat obtenu vs celui désiré ?
Qu'as-tu vérifié et testé ?
0
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
Modifié le 4 mars 2020 à 09:52
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 :
  • 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
0