Bonjour,
L'opération suivante est curieuse :
VarLogique << (NombreEntier = Quantité1 *2)
Si les opérateurs se comportent comme dans les autres langages :
NombreEntier = Quantité1 *2
est une condition dont le résultat est passé dans VarLogique
Qui généralement sera booléen (1 vrai, 0 faux)
A = B donnera vrai ou faux, qui prendra la valeur 0 ou 1
C << A = B
C prendra la valeur du résultat de cette condition, est-ce bien ce que vous voulez faire ?
De même ici :
Ecrire VarLogique OU (NombreEntier=15)
Si VarLogique différent de 0 OU NombreEntier est égal à 15 qui renverra 0 ou 1
Si le but est d'écrire VarLogique dans le cas ou il n'est pas égal à 0 sinon NombreEntier alors il faudrait sans doute écrire ceci :
Ecrire VarLogique OU NombreEntier
Je ne connais pas le comportement de ce langage, ce serait bien déjà de tester ce qu'il renvoit en écrivant :
Ecrire 1 OU 1
Ecrire 0 OU 1
Ecrire 0 OU 2
Et sinon la solution est d'écrire la condition avant d'imprimer le message :
Si VarLogique <> 0
Ecrire VarLogique
Sinon
Ecrire NombreEntier
Fin Si
Je ne parle que sur le plan de la syntaxe, pour la logique du code je n'ai pas vérifié.
Vous devriez vous écrire un algorigramme sur une feuille ce sera peut-être plus simple d'étudier votre code et c'est une très bonne pratique à connaître en tant que programmeur.
http://troumad.developpez.com/C/algorigrammes/
Bon courage !
Partager