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 :

Débutant en C


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 14
    Par défaut Débutant en C
    Bonjour à tous,

    Je viens demandé de l'aide sur un morceau de code tout bête que j'aimerais faire fonctionner.

    C'est un simple calcul d'imc, un devoir pour un cour et je ne comprends pas pourquoi cela ne fonctionne pas.

    Merci de votre aide.

    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
    //CODE
     
    #include <stdlib.h>
    #include <stdio.h>
    #include <stdafx.h>
     
    int main(int argc, char *argv[])
    {
        int poids = 0;
        float taille = 0;
        float imc = 0;
        while (poids != 9);
       {
     
        printf("Vous pouvez quitter avec la touche neuf\n");
        printf("____________________________________\n\n");
        printf("entrez votre poids:\n");
        scanf("%ld", &poids);
        printf("entrer votre taille en cm:\n");
        scanf("%f", &taille);
        taille = taille/100;
        imc = poids/(taille*taille);
        printf(" votre imc est %f \n", imc);
        if (imc>25)
        {
                   printf ("vous etes en surpoids \n");
        }
        else
        {
            printf (" Vous n'etes pas en surpoids \n\n\n");
        }
       getchar();
    }
    }

  2. #2
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par aspiman Voir le message
    Bonjour à tous,

    Je viens demandé de l'aide sur un morceau de code tout bête que j'aimerais faire fonctionner.

    C'est un simple calcul d'imc, un devoir pour un cour et je ne comprends pas pourquoi cela ne fonctionne pas.
    Ton compilateur peut t'aider :
    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
     
     
    -------------- Build: Debug in hello ---------------
     
    Compiling: main.c
    Linking console executable: bin\Debug\hello.exe
    C:\dev\hello\main.c:5:20: stdafx.h: No such file or directory
    C:\dev\hello\main.c: In function `main':
    C:\dev\hello\main.c:18: warning: long int format, int arg (arg 2)
    C:\dev\hello\main.c: At top level:
    C:\dev\hello\main.c:7: warning: unused parameter 'argc'
    C:\dev\hello\main.c:7: warning: unused parameter 'argv'
    C:\dev\hello\main.c: In function `main':
    C:\dev\hello\main.c:34: warning: control reaches end of non-void function
    Process terminated with status 1 (0 minutes, 0 seconds)
    1 errors, 4 warnings

  3. #3
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 487
    Par défaut
    Mais surtout :

    Un petit point-virgule qui a causé bien du tracas à des générations de programmeurs.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 14
    Par défaut aie
    Merci de votre aide!!

    En fait l'erreur ne vient pas du ";".
    Je voudrais faire un calcul d'imc et que le programme termine avec la touche 9 sinon il recommence tant que l'utilisateur n'a pas appuyé sur 9.

    Un deuxieme problème est que le résultat de l'imc est tjr égal a 0.0000.

    Aie le C c'est compliqué dediou!

  5. #5
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par aspiman Voir le message
    Un deuxieme problème est que le résultat de l'imc est tjr égal a 0.0000.
    Tu as corrigé ce que j'ai indiqué ?

  6. #6
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        int poids = 0;
    ....
        scanf("%ld", &poids);
    Envoyé par ED :
    C:\dev\hello\main.c:18: warning: long int format, int arg (arg 2)
    Le format est incorrect comme signalé par cet avertissement. Les formats dans les scanf doivent exactement correspondre au type de la variable lue.
    Il ne faut jamais négliger les avertissements, certains signalent parfois, comme ici, une véritable erreur.


    Bizarrement, le poids est un int alors que, par nature, on attend plutôt ici un réel.

  7. #7
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 487
    Par défaut
    Citation Envoyé par aspiman Voir le message
    Je voudrais faire un calcul d'imc et que le programme termine avec la touche 9 sinon il recommence tant que l'utilisateur n'a pas appuyé sur 9.
    C'est bien dans ce sens-là que je l'ai compris, mais ça reste un bug. Enfin, tu t'en rendras vite compte par toi-même. :-)

Discussions similaires

  1. Débutant XML
    Par viny dans le forum XML/XSL et SOAP
    Réponses: 8
    Dernier message: 25/07/2002, 12h07
  2. [Kylix] Re Re: débutant sur Kylix et Linux.....
    Par Eclypse dans le forum EDI
    Réponses: 2
    Dernier message: 08/06/2002, 22h53
  3. [Kylix] Le débutant en Kylix et Linux....
    Par Eclypse dans le forum EDI
    Réponses: 2
    Dernier message: 08/05/2002, 10h37
  4. Réponses: 3
    Dernier message: 07/05/2002, 16h06
  5. [HyperFile] 2 questions de débutant
    Par khan dans le forum HyperFileSQL
    Réponses: 2
    Dernier message: 29/04/2002, 23h18

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