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] Petit problème avec programme pour calculer l'aire d'un rectangle


Sujet :

C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 42
    Points : 23
    Points
    23
    Par défaut [Débutant] Petit problème avec programme pour calculer l'aire d'un rectangle
    Bonsoir à tous!

    Voila, j'ai programmé un programme qui calcule l'aire d'un rectangle en rentrant la largeur et la longueur mais il ne marche pas. J'ai beau avoir revérifier le code pendant pas mal de temps je ne vois pas du tout ou est le problème. En gros quand le programme se lance on peut rentrer la premier valeur (cad la longueur) , ensuite au moment ou on doit rentrer la deuxième le programme la saute et ne laisse pas la possibilité de rentrer la deuxième et donc automatiquement la valeur de l'aire calculée est 0. Pouvez vous m'aider s'il vous plait?

    Voici le code:

    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
    #include <stdio.h>
    #include <stdlib.h>
     
    double aire(double length, double width)
    {
        return length * width;
    }
     
    int main(int argc, char *argv[])
    {
        double length = 0, width = 0 ;
        printf("Veuillez entrer la longueur de votre rectangle s'il vous plait:\n");
        scanf("lf", &length);
        printf("\n");
        printf("Veuillez entrer la largeur de votre rectangle s'il vous plait:\n");
        scanf("lf", &width);
        printf("\n");
        printf("L'aire de votre rectangle est : %f", aire(length, width));
     
     
        return 0;
    }
    Merci d'avance!

  2. #2
    Membre actif
    Homme Profil pro
    Ingénierie des systemes embarqués temps réels
    Inscrit en
    Juin 2006
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénierie des systemes embarqués temps réels
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2006
    Messages : 152
    Points : 231
    Points
    231
    Par défaut
    hello!
    Par ici la réponse. scanf demystifé
    Voilà
    Pendant 25 ans j'ai toujours cru que le soleil se levait à l'est et se couchait à l'ouest... 1/4 de siècle à remettre en cause...
    _______________________ ______________
    Systèmes embarqués RT et Informatique Industrielle.
    Conception, intégration électronique et logicielle.
    Développement des drivers ,GUI,et softs pour vos applications.
    _______
    Debian ,CentOS,Suse,Windows(xp pro,7).

  3. #3
    Membre éclairé
    Avatar de Pouet_forever
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 671
    Points : 842
    Points
    842
    Par défaut
    Que ce soit dans scanf ou dans printf les formateurs commencent toujours par un %. Est-tu sûr de n'avoir rien oublié ?
    Ton compilateur devrait d'ailleurs t'avertir.
    Plus tu pédales moins fort, moins t'avances plus vite.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 42
    Points : 23
    Points
    23
    Par défaut
    Olala!!! Je me demande comment j'ai fais pour faire une erreur aussi grosse et pour ne pas l'avoir trouvée!!! Je suis désolé de vous avoir dérangé pour ca!
    Mais c'est étrange parce que le premier ou j'ai oublié le %, il marchait et sinon mon compilateur ne m'a même pas averti!!

  5. #5
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par Faror Voir le message
    Mais c'est étrange parce que le premier ou j'ai oublié le %, il marchait...
    Bin tu as eu un comportement indéterminé, ca aurait très bien pu faire planter le programme.

    Citation Envoyé par Faror Voir le message
    ...et sinon mon compilateur ne m'a même pas averti!!
    Il faut régler ton compilateur, met au moins les options suivantes:

    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 42
    Points : 23
    Points
    23
    Par défaut
    Bonjour Franck.H.

    Merci pour l'indication j'ai donc ajouter les options comme tu me l'as dis plus d'autres comme c'est expliqué ici :
    http://c.developpez.com/cours/cb-gtk/

    Mais maintenant j'ai un petit problème qui m'embête c'est que mon compilateur ne reconnait plus les commentaires "//" et il me met directement erreur quand j'en fais un. Comment dois je faire pour modifier ca stp?

  7. #7
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Les commentaires en C, c'est :
    pas
    Ca, c'est un commentaire en C++ et comme tu as mis les options "strict C", le compilateur te jette (et il a raison )
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 42
    Points : 23
    Points
    23
    Par défaut
    Ah ok!! Merci!
    Alors maintenant j'ai 2 question.
    1) C'est quelle option que j'ai cochée ou ajoutée pour avoir les options "strict C" stp?
    2) A chaque fois pour tous mes nouveau projets, ou dés que je rajoute une feuille dans un projet, je me rend compte que je dois cocher et ajouter de nouveau toutes ces options. Est ce normal? Et y a-t-il un moyen de ne plus avoir à le faire?

    Merci d'avance

    Edit: Juste pour info avec toutes les options que j'ai cochées, j'ai fais un test comme mon problème du début, c'est à dire que j'ai enlevé le "%" au lf et le compilateur ne m'a toujours pas signalé l'erreur.

  9. #9
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Points : 1 750
    Points
    1 750
    Par défaut
    Quel IDE utilises-tu ?

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 42
    Points : 23
    Points
    23
    Par défaut
    J'utilise Code Blocks.

  11. #11
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 916
    Points
    17 916
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Pouet_forever Voir le message
    Que ce soit dans scanf ou dans printf les formateurs commencent toujours par un %. Est-tu sûr de n'avoir rien oublié ?
    Ton compilateur devrait d'ailleurs t'avertir.
    c'est faux si il n'y a pas de variable...


    est tout à fait correct..

    c'est quand on fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf (" toto %d", i);
    qu'il faut un %.

    Pour scanf c'est évident puisqu'a priori tu vas lire une variable (ou un buffer).



    Enfin, en général il peut être prudent de faire précéder une apostrophe d'un \... dans une chaîne...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf ( "s\' il vous plait");
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  12. #12
    Membre éclairé
    Avatar de Pouet_forever
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 671
    Points : 842
    Points
    842
    Par défaut
    Tu n'as pas bien lu je crois :

    Que ce soit dans scanf ou dans printf les formateurs commencent toujours par un %.
    Donc, c'est vrai.
    Plus tu pédales moins fort, moins t'avances plus vite.

Discussions similaires

  1. [débutant] Un petit problème avec mon code
    Par Muesko dans le forum Débuter
    Réponses: 3
    Dernier message: 28/08/2008, 17h12
  2. [Configuration] petit problème avec php.ini pour la fonction mail()
    Par momoh dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 06/04/2007, 01h39
  3. [débutant]2 petits problèmes avec JDialog
    Par pingoui dans le forum Agents de placement/Fenêtres
    Réponses: 7
    Dernier message: 18/02/2007, 19h46
  4. Petit problème avec GCC pour l'Unicode...
    Par Nico*3-3 dans le forum Autres éditeurs
    Réponses: 6
    Dernier message: 29/01/2006, 17h12
  5. [débutant]petit problème sur formulaire avec onglets
    Par Christophe93250 dans le forum Access
    Réponses: 2
    Dernier message: 06/01/2006, 10h46

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