exo
Répondre à la discussion
Affichage des résultats 1 à 17 sur 17

exo



  1. #1
    invite4c7369f0

    exo


    ------

    bonjour ,
    mon exo consiste à écrire un programme C dans code blocks qui permet de calculer le salaire brut B=H*T (H=heure * T=salaire touché l'heure )
    mais je ne sais pas pourquoi il m'affiche 0

    Code:
     #include <stdio.h>
    #include <stdlib.h>
    
     main()
    { 
        float  H,B,T;
    
        printf("T");
        scanf("%f",&T);
        printf("H");
        scanf("%f",&H);
        B=H*T;
        printf("%f",&B);
    }

    -----
    Images attachées Images attachées
    Dernière modification par Jack ; 28/10/2013 à 17h12. Motif: Ajout balises code

  2. #2
    bisou10

    Re : exo

    Hummmmm &H, &B ??

  3. #3
    invite4c7369f0

    Re : exo

    Je ne comprend pas à ce que tu veux dire

  4. #4
    Chanur

    Re : exo

    Bonjour,

    Sais-tu à quoi sert le "&" dans l'expression scanf("%f",&H); ?

    Ce qui se conçoit bien s'énonce clairement ; et les mots pour le dire arrivent aisément.

  5. A voir en vidéo sur Futura
  6. #5
    invite4c7369f0

    Re : exo

    je ne sais pas vraiment à quoi sert &

  7. #6
    Chanur

    Re : exo

    C'est assez simple :
    H est une variable (de type float ici), stockée quelque part en mémoire.
    &H est une expression qui désigne l'adresse en mémoire de H

    En langage C, les arguments des fonctions sont passés par valeur, ce qui signifie que la valeur de la variable est recopiée quand on appelle la fonction. A l'intérieur de la fonction on n'a aucune ingormation sur l'adresse originelle de l'argument : on ne connais que la copie.

    Mais la fonction scanf doit modifier la valeur de H. Il faut donc lui donner en paramètre l'adresse de H (donc &H) pour qu'elle sache où écrire le résultat.

    Ce n'est pas le cas pour printf : tu aurais du écrire printf("%f",B); pour donner la valeur de B, et non son adresse.
    Ce qui se conçoit bien s'énonce clairement ; et les mots pour le dire arrivent aisément.

  8. #7
    bisou10

    Re : exo

    Salut, je suis volontairement laconique car c'est à toi de faire l'exo

  9. #8
    Jack
    Modérateur

    Re : exo

    Pense à ajouter les balises code la prochaine fois pour améliorer la lisibilité de celui-ci.

    Sinon, je suis étonné que personne n'ait réagi sur l'emploi de float pour un salaire (pour ceux qui suivent )

  10. #9
    invite4c7369f0

    Re : exo

    ah ok merci beaucoup .
    J'ai maintenant compris , et j'ai compris mon erreur

  11. #10
    invitebac61674

    Re : exo

    Citation Envoyé par Jack Voir le message
    Sinon, je suis étonné que personne n'ait réagi sur l'emploi de float pour un salaire (pour ceux qui suivent )
    Tu m'as devancé Jack ! Je suis super content de voir que tu réagis à l'emploi de float pour des valeurs monétaires. Au moins j'aurais pas écrit 12 messages pour rien !

  12. #11
    Arzhur

    Re : exo

    Sinon, je suis étonné que personne n'ait réagi sur l'emploi de float pour un salaire (pour ceux qui suivent )
    Troller cay leu mal


    Si ça se trouve ça vient du même prof...

  13. #12
    invite2d7144a7

    Re : exo

    Bonjour,
    Citation Envoyé par Jack Voir le message
    Sinon, je suis étonné que personne n'ait réagi sur l'emploi de float pour un salaire (pour ceux qui suivent )
    D'accord, mais il ne faut pas pousser non plus : ce n'est qu'un petit exercice de cours, pas une application pour la Banque Européenne.

  14. #13
    invitebac61674

    Re : exo

    Citation Envoyé par whoami Voir le message
    Bonjour,

    D'accord, mais il ne faut pas pousser non plus : ce n'est qu'un petit exercice de cours, pas une application pour la Banque Européenne.
    C'est tout l'objet de la discussion. Pourquoi faire faire des exercices avec des float à des débutants, sachant que ça leur fait prendre une très mauvaise habitude pour la suite, alors qu'il est si simple de créer des exercices avec des entiers ?

    D'ailleurs peu de gens sur ce forum ont conscience des problèmes que causent les float pour les valeurs monétaires.

    Voir toute la polèmique ici http://forums.futura-sciences.com/pr...-calcul-c.html

    Jack a rappelé le problème parce qu'il a suivi cette discussion.

  15. #14
    JPL
    Responsable des forums

    Re : exo

    Oui mais on ne va pas recommencer ici !
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  16. #15
    Arzhur

    Re : exo

    Même ailleurs en fait...

  17. #16
    Jack
    Modérateur

    Re : exo

    Mea culpa!

    C'était de l'humour, je n'ai pas pu m'en empêcher.

  18. #17
    Arzhur

    Re : exo

    J'avais compris

    Par contre je viens de m'apercevoir que ma remarque était un peu sèche...si quelqu'un a envie de recommencer le débat (dans un autre topic)...pourquoi pas.