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

probleme commande c



  1. #1
    simetoile

    Question probleme commande c


    ------

    bonjour tout le monde
    nouveau probleme avec la commande while language C
    je vous ecrit le code
    {
    long nombre = 0;
    while (nombre = 47)
    {
    printf ("Taper le nombre 47 \n");
    scanf ("%ld", &nombre);
    }
    le programme m'affiche taper le nombre et recommence à chaque fois et devrait s'arretter quand je tape le nombre 47
    le probleme c'est qu'il ne s'arrette pas quand je tape le nombre 47
    la fonction while marche trés bien avec les < ou > mais pas avec =
    merci de vos réponses

    -----

  2. Publicité
  3. #2
    lou_ibmix_xi

    Re : probleme commande c

    Salut.

    Ce que tu veux faire n'est pas très clair. En tout cas l'égalité en C c'est "==" est le différent c'est "!=". Le "=" est réservé à l'affectation, donc ta boucle ne risque pas de s'arrétée.

    Bon courage

  4. #3
    fderwelt

    Re : probleme commande c

    Bonjour,

    C'est le gaga classique: (nombre = 47) affecte la valeur 47 à "nombre" et renvoie cette valeur, différente de zéro donc considérée comme vraie par le "while"... Je sais, c'est casse-gueule, mais on l'a tous fait au moins une fois.

    Pour les comparaisons il faut utiliser "==" (égal) ou "!=" (différent).

    Par ailleurs, dans ce cas précis il aurait mieux valu faire:
    do
    {
    printf (...) ;
    scanf (...) ;
    }
    while (nombre != 47) ;
    mais c'est surtout une question de style.

    -- françois
    Les optimistes croient que ce monde est le meilleur possible. Les pessimistes savent que c'est vrai.

  5. #4
    simetoile

    Re : probleme commande c

    re salut
    j'ai essayé avec le code
    avec
    long nombre = 0;
    do
    {
    printf ".. ";
    scanf "... ";
    }
    while (nombre != 47);
    aussi avec
    long ....
    while (nombre != 47)
    {
    printf ".. "
    scanf "... "
    ça ne marche pas
    le signe ! devant le égal != c'est bien un point d'exclamation
    merci de vos réponses

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

    Re : probleme commande c

    Rebonjour,

    Le premier code avec do...while devrait marcher.

    Le deuxième ne peut pas, à cause de l'initialisation juste avant: long nombre = 0. Au premier passage sur le while, on a bien nombre != 47, donc la boucle n'est pas exécutée du tout.

    Au passage, "!=" c'est bien point d'exclamation suivi de égale.

    -- françois
    Les optimistes croient que ce monde est le meilleur possible. Les pessimistes savent que c'est vrai.

  8. #6
    simetoile

    Thumbs up Re : probleme commande c

    merci, j'ai essayé une nouvelle fois avec le fonction do comme tu me la préconisé et cette fois ci tout marche bien merci encore
    à bientôt

  9. Publicité

Discussions similaires

  1. problème relais commandé par un UM3750
    Par Patrick dans le forum Électronique
    Réponses: 7
    Dernier message: 02/07/2012, 06h10
  2. Problème de commande Relais
    Par jorg1n dans le forum Électronique
    Réponses: 88
    Dernier message: 15/11/2007, 09h16
  3. Problème de Commande
    Par invite3488761 dans le forum Électronique
    Réponses: 22
    Dernier message: 31/03/2007, 18h50
  4. Convertir une commande tension en commande courant
    Par guyonv dans le forum Électronique
    Réponses: 11
    Dernier message: 29/03/2007, 07h45
  5. Problème carte commande congélateur
    Par PAT78 dans le forum Dépannage
    Réponses: 14
    Dernier message: 16/03/2007, 13h40
Découvrez nos comparatifs produits sur l'informatique et les technologies.