IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Calcul de puissance au résultat erroné


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 1
    Points : 0
    Points
    0
    Par défaut Calcul de puissance au résultat erroné
    Bonjour,
    Je suis débutant en C.

    J'ai un programme qui calcule la puissance d'un nombre mais quand je saisis un nombre décimal comme 2.2^2, le résultat est 5
    voilà une partie :

    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    double w,x,y,z;
     
    printf("entrer le nombre et sa puissance\n");
    scanf("%lf %lf",&w,&x);
    printf("%lf à la puissance %lf est %lf\n",w,x,pow(w,x));


    comment faire pour que 2.2^2 soit égal à 4.84 ?
    Merci.

  2. #2
    Expert confirmé
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Points : 4 182
    Points
    4 182
    Par défaut
    Le code que tu as posté devrait produire le résultat escompté, peux-tu nous en dire plus ?


    Merci par ailleurs de faire un petit effort sur la présentation, notamment :

    • le code entre balises [code] ;
    • des majuscules et de la ponctuation ;
    • un titre de sujet évocateur, le tien est plutôt rigolo mais n'a rien à voir avec ton souci.

  3. #3
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Et au passage, conformément à la charte, il convient d'éviter le langage SMS:
    slt sui debutant en c
    j'ai un programme qui calkul la puissance d'un nombre mais
    kan je saisis un nombre decimal com 2.2^2 le résultat es 5
    voilà une parti
    salut, je suis debutant en c
    j'ai un programme qui calcule la puissance d'un nombre mais
    quand je saisis un nombre decimal comme 2.2^2 le résultat est 5.
    voilà une partie:
    Et encore, je ne corrige que le plus gros, il manque des virgules, des accents...

    Par ailleurs, ton programme lit "%lf %lf", si tu lui donne 2.2^2, ca ne fonctionne pas (car le ^ n'est pas un espace).
    Si tu avais vérifié que scanf retourne bien 2 (c'est à dire qu'il a lu deux valeurs), tu aurais détecté l'erreur.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2014
    Messages : 24
    Points : 41
    Points
    41
    Par défaut
    Salut Kafimma. Je crois que tu devrais essayer ce bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #include <stdio.h>
    #include <math.h>
    int main()
    {
        double w,y,z; int x;
        printf("entrer le nombre et sa puissance\n");
        scanf("%lf %d",&w,&x);
        printf("%lf à la puissance %d est %.2lf\n",w,x,pow(w,x));
        return 0;
    }

  5. #5
    Expert confirmé
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Points : 4 182
    Points
    4 182
    Par défaut
    Bien vu leternel ! Soit dit en passant le printf est sensé également afficher les arguments, m'étonnerait que ce soit tombé juste et ça aurait dû te mettre la puce à l'oreille.

Discussions similaires

  1. Réponses: 1
    Dernier message: 25/10/2008, 02h33
  2. [IMPORTANT] Aidez vous des [Tag's]
    Par NoisetteProd dans le forum Bases de données
    Réponses: 1
    Dernier message: 12/02/2005, 15h23
  3. Réponses: 7
    Dernier message: 24/05/2003, 15h56
  4. Voir la pile FPU
    Par Qwazerty dans le forum Assembleur
    Réponses: 5
    Dernier message: 11/05/2003, 15h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo