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 :

Probléme variable type double


Sujet :

C

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Probléme variable type double
    bonjour tout le monde...

    Je suis un nouveau venu en programmation (trois jours).
    Je suis en train de faire un programme qui permet de faire des calculs sur des chiffres décimaux, lorsque je remplace les variables par le type int, le programme s'exécute normalement en faisant les bons calculs, mais si je remplace par le type double aucun calcul ne se fait ! J'ai beau chercher je ne comprends pas... Si une âme charitable pouvait me donner un petit coup de main si cela ne saurait pas de refus

    Merci beaucoup pierre.

    voici le code source :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    #include <stdio.h>
    #include <stdlib.h>
     
    double tarifplace;
    double essence;
    double essence1;
    double nptp;
    double nptp1;
    double nptp0;
    double imprevue;
    double nombredeplace;
    double salairechaufeur;
    double consomation;
    double nbkm;
    double allezretour;
    double calculkmjour;
    double salairechaufeur0;
    double consomation1;
    double tousfraisinclus;
    int main()
    {
    printf("\n\n      Bienvenue dans le calculateur bidon              \n      -----------------------------------\n\n");
    printf("Rentre le nombre de place dans le bus  ");
        scanf("%f",&nombredeplace);
        printf("Rentre le prix de la place  ");
        scanf("%f",&tarifplace);
        printf("Rentre le salaire du chaufeur par mois ");
        scanf("%f",&salairechaufeur);
        printf("Rentre le prix du carburant au litre "); // probléme pas possibilité de mettre en décimal//
        scanf("%f",&essence);
        printf("Rentre le nombre de km par allez retour "); // variable nbkm//
        scanf("%f",&nbkm);
        printf("Rentre le bugjet imprevue au mois   ");
        scanf("%f",&imprevue);
        printf("combien de fois le bus va faire daller retour ?  ");
        scanf("%f",&allezretour);
        printf("Rentre la consomation au 100 km en litre ?  ");
        scanf("%f",&consomation);
     
        printf("     \n\n\n                  resultat\n                  --------\n");
     
        nptp=(nombredeplace*tarifplace); //permet de calculer le nombre d'argents gagnés en multipliant le nombre de places par le prix d'un billet//
        nptp0=(nombredeplace*tarifplace*allezretour);// permet de calculer l'argent gagné en un seul jour//
        calculkmjour=(nbkm*allezretour); //permet de calculer le nombre de kilomètres parcourus en un seul jour//
        nptp1=(nombredeplace*tarifplace*allezretour*25); //permet de calculer les gains en un seul mois * 25 jours//
        consomation=(calculkmjour/100*consomation);// permet de calculer la consommation en litre d'essence du bus pour un jour//
        consomation1=(consomation*25); //permet de calculer la consommation d'essence 1 l pour un mois//
        essence1=(consomation1*essence);// permet de calculer le tarif en euros d'essence pour un mois//
        tousfraisinclus=(nptp1-salairechaufeur-imprevue-consomation1); // permet de calculer les frais//
     
     
        printf("Avec un bus de %f places un prix de %f euros par billet.\nvous gagnez %f euros par trajet.\nSoit %f euros par jour\nSoit %f par mois\n\n",nombredeplace,tarifplace,nptp,nptp0,nptp1);
        printf("Tu vas faire %f aller-retour par jour.\nPour un total kilometrique de %f km.\n\n",allezretour,calculkmjour);
        printf("tu vas consommer environ %f litres de carburant par jour \nSoit %f litres par mois\n",consomation,consomation1);
        printf("Sachant que le prix du carburant est de %f Euros \ntu payeras %f euros par mois de carburant\n",essence,essence1);
        printf("le salaire du chauffeur de %f euros et un budget imprevu de %f euros\net %f euros d'essence\n\n\n",salairechaufeur,imprevue,essence1);
        printf("            Il reste donc %f euros de benefice\n            ------------------------------------ \n\n\n",tousfraisinclus);
     
        printf("Fin du programme appuie sur une touche pour quitter");
        scanf("%d");
        return 0;
    }

  2. #2
    Membre averti Avatar de Jenna
    Inscrit en
    Décembre 2009
    Messages
    272
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2009
    Messages : 272
    Points : 339
    Points
    339
    Par défaut
    Le format de saisie dans un scanf pour un double, c'est pas plutôt %lf ?

    pour le printf, je crois que cela n'a pas d'importance

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci bcp jenna....

  4. #4
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 078
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 078
    Points : 2 338
    Points
    2 338
    Par défaut
    printf, comme scanf, attend quelque chose de formaté, donc si, ca à de l'importance et ca affichera n'importe quoi si le type n'est pas bon.

  5. #5
    Membre averti Avatar de Jenna
    Inscrit en
    Décembre 2009
    Messages
    272
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2009
    Messages : 272
    Points : 339
    Points
    339
    Par défaut
    Citation Envoyé par SofEvans Voir le message
    printf, comme scanf, attend quelque chose de formaté, donc si, ca à de l'importance et ca affichera n'importe quoi si le type n'est pas bon.
    Ce que je voulais dire, c'est que pour printf, que tu utilises %f ou %lf, cela affiche pareil (pour peu quand même que tu passes un float ou un double)

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    effectivement je te confirme cela affiche n'importe quoi !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/08/2011, 20h28
  2. [Double] Problème de type DOUBLE dans UPDATE SQL
    Par GarsDuCalvados dans le forum VB.NET
    Réponses: 1
    Dernier message: 04/06/2009, 23h34
  3. variable type double
    Par mteirek_m dans le forum VB.NET
    Réponses: 8
    Dernier message: 15/01/2008, 07h24
  4. problème d'overflow avec variable type double
    Par ben83 dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 15/02/2007, 09h55
  5. Réponses: 1
    Dernier message: 27/07/2005, 17h08

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