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 :

Langage C - Demande d'aide sur un programme


Sujet :

C

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 13
    Points : 9
    Points
    9
    Par défaut Langage C - Demande d'aide sur un programme
    Bonjour,
    Je post ce message car je requiers de l'aide pour comprendre et réussir ce programme.
    J'arrive à compiler le programme mais je n'arrive pas à afficher le résultat. Le programme me retourne toujours 0.

    L'énoncé du programme :

    Les colis de Mamie Léonie

    Mamie Léonie (identité commerciale utilisée par un jeune homme moustachu) fabrique et expédie des quatre-quarts qu'elle vend via un site internet. Pour affranchir correctement les colis, elle doit calculer le poids des colis qui dépend du nombre de quatre-quarts qu'ils contiennent. Chaque quatre-quart pèse 250 grammes. Mamie Léonie vous demande d'écrire un programme pour l'aider. Ce programme demande à l'utilisatrice (Mamie Léonie) le nombre de quatre-quarts et affiche comme résultat le poid du paquet exprimé en kilos
    Par exemple, si trois quatre-quarts sont envoyés, le poids calculé et affiché est de 0,750 (0.750 en fait, car le langage C utilise lanotation anglo-saxone) car le poids du colis est de 3 fois 250 grammes ce qui fait 0,750 kilos (750 grammes).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #include <stdio.h>
    int main() 
    {
        int nombrecolis,poids,poidstotal;
        poids = 250;
     // poidstotal = 0;
       nombrecolis = 0;
    printf("combien de colis a envoyer\n");
    scanf("%d",&nombrecolis) ;
    poidstotal= poids*nombrecolis/1000;
    printf ("%d\n", poidstotal);
    return 0;
    }
    Je compile mon code ici :
    https://www.tutorialspoint.com/compile_c_online.php

    Le programme me demande le nombre de colis mais me renvoi la valeur 0 à chaque fois.
    Sauriez-vous pourquoi ?

    Merci
    Yohan

  2. #2
    Invité
    Invité(e)
    Par défaut
    Je crois que le souci vient juste de ce que tu essayes de calculer et d'afficher un nombre à virgule flottante (ici poidstotal) en utilisant une variable de type entier. Est-ce que ça répond à ta question ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #include <stdio.h>
    int main() {
    	int nombrecolis,poids;
    	float poidstotal;
    	poids = 250.0;
    	// poidstotal = 0;
    	nombrecolis = 0;
    	printf("combien de colis a envoyer\n");
    	scanf("%d",&nombrecolis) ;
    	poidstotal= poids*nombrecolis/1000.0;
    	printf ("%f\n", poidstotal);
    	return 0;
    }

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 13
    Points : 9
    Points
    9
    Par défaut
    Bonjour,
    J'ai réussi à le faire fonctionner ;-)
    Le programme marche avec ce code, avec une variable de type float.

    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #include <stdio.h>
    int main() 
    {
        float nombrecolis,poids,poidstotal;
        poids = 250;
       poidstotal = 0;
       nombrecolis = 0;
    printf("combien de colis a envoyer\n");
    scanf("%f",&nombrecolis) ;
    poidstotal= poids*nombrecolis/1000;
    printf ( "le poid total est %f\n", poidstotal);
    return 0;
    }

  4. #4
    Invité
    Invité(e)
    Par défaut
    Si tu divises 2 int le résultat sera un int par défaut. Si tu divises un int par un float par exemple le résultat aura la précision d'un float (sur-casting implicite)

  5. #5
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 684
    Points : 30 973
    Points
    30 973
    Billets dans le blog
    1
    Par défaut
    Bonjour

    Attention aussi que dans des expressions plus longues, le calcul ne se fait que sur la partie concernée par le calcul et non sur toute l'expression toute entière. Exemple 1.0 + 10/3 donnera 4.0 et non 4.333333 malgré la présence d'un float dans l'expression parce que la division (prioritaire) ne se faisant qu'avec des int reste alors en int.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 13
    Points : 9
    Points
    9
    Par défaut Merci
    Merci pour vos explications ;-)

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

Discussions similaires

  1. [Débutant] Demande d'aide sur le choix d'un langage approprié !
    Par walid6002 dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 09/08/2014, 19h36
  2. [python3+tkinter]demande d'aide sur un programme.
    Par ivigu dans le forum Général Python
    Réponses: 8
    Dernier message: 13/02/2013, 06h45
  3. Demande d'aide sur "programmation d'un IDS en Java"
    Par Libre_ar2009 dans le forum Général Java
    Réponses: 0
    Dernier message: 04/05/2009, 16h08
  4. [VB6] Demande d'aide sur un programme !
    Par Lucas42 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 16/06/2006, 11h49

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