Verifier 2 conditions avec le do .. while

Résolu
icode15 Messages postés 60 Statut Membre -  
icode15 Messages postés 60 Statut Membre -
Bonjour
voici mon code
do{

printf("Entrer Quantités Produits \n");
scanf("%d",&q_produits);
printf("Entrer Prix Unitaire du Produit \n");
scanf("%d",&prix_uni);
}
while((q_produits<=0) || (&prix_uni<=0));

je voudrais que la boucle se repète tant qu' au moins un des 2 est negatif

Merci

1 réponse

  1. Bilow Messages postés 171 Date d'inscription   Statut Membre Dernière intervention   117
     
    Salut,

    Ca, c'est vraiment la base du C... Où as-tu appris à programmer ?

    do{
    
    }
    while( !(condition1) || !(condition2) );

    ;-)
    0
    1. icode15 Messages postés 60 Statut Membre
       
      j'apprends
      0
    2. Bilow Messages postés 171 Date d'inscription   Statut Membre Dernière intervention   117
       
      Ca va ;-)
      0
    3. icode15 Messages postés 60 Statut Membre
       
      condition 1 et condition 2
      sont les conditions pour rester ou pour sortir de la boucle?
      0
    4. Bilow Messages postés 171 Date d'inscription   Statut Membre Dernière intervention   117
       
      (q_produits<=0)   est une condition.
      Tu souhaites continuer la boucle si elle est négative. Il faut donc y rajouter un point d'exclamation, comme ça elle sera positive et fera continuer la boucle.

      !(q_produits<=0)
      Si q_produits vaut ou est inférieur à 0, alors, entre les parenthèses, la condition est vraie (positive). Avec le point d'exclamation, elle sera fausse (négative) : La boucle s'arrêtera si l'autre (condition2) ne la fait pas continuer. Tu comprends ?
      0
    5. icode15 Messages postés 60 Statut Membre
       
      !(q_produits<=0) est pareil que q_produits>0 , je me trompe ?

      on obtiendra donc ça ?
      do{

      printf("Entrer Quantités Produits \n");
      scanf("%d",&q_produits);
      printf("Entrer Prix Unitaire du Produit \n");
      scanf("%d",&prix_uni);
      }
      while(!(q_produits>0) || !(&prix_uni>0));
      0