Verifier 2 conditions avec le do .. while

Résolu
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. Salut,

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

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

    ;-)
    1. j'apprends
    2. condition 1 et condition 2
      sont les conditions pour rester ou pour sortir de la boucle?
    3. (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 ?
    4. !(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));