Page 1 of 1

Problème Affichage date et heure

Unread postPosted: 13 Oct 2018, 16:06
by Galmo13
Bonjour à tous, poste ce message car je suis actuellement en train de coder un afficheur de date/heure (c'est mon premier programme, je sais que c'est très simple!), voici mon code:

Disp "Voulez vous l'heure ou"
Disp "la date?"
Disp "1.Heure 2.Date
Prompt C
If C=1
affHeure
If C=2
affDate
If C>2
Disp "La valeur n'est ni un 1"
If C>2
Disp "ni un 2"

Le problème, c'est que le programme n'affiche ni la date ni l'heure. Cependant, si C est supérieur à 2, le message "La valeur n'est ni un 1 ni un 2" s'affiche correctement.
Merci pour vos conseils et solutions!

Re: Problème Affichage date et heure

Unread postPosted: 13 Oct 2018, 16:10
by majestyofgaia
Bonjour,

après "If C=1", à la ligne tu dois écrire "Then".

D'un point de vue syntaxe : Si alors FinSi s'écrit

If condition
Then
instructions
End

Et si tu veux imbriquer tes If, tu peux utiliser des sinon (else).

If C = 1
Then
....
Else
If C = 2
Then
...
End
End

Re: Problème Affichage date et heure

Unread postPosted: 13 Oct 2018, 16:15
by Galmo13
Merci pour ta réponse, cependant, cela ne marche toujours pas. Voici le code que j'ai écrit après tes conseils:
Code: Select all
Disp "Voulez vous l'heure ou"
Disp "la date?"
Disp "1.Heure 2.Date
Prompt C
If C=1
Then
affHeure
End
If C=2
Then
affDate
End
If C>2
Disp "La valeur n'est ni un 1"
If C>2
Disp "ni un 2"

Re: Problème Affichage date et heure

Unread postPosted: 13 Oct 2018, 16:37
by majestyofgaia
Je ne connaissais pas la fonction affHeure et je viens de regarder : elle renvoie une liste. Donc pour afficher la liste, tu dois écrire Disp devant tes fonctions affHeure et affDate.

edit : je t'ai fait rajouter des Then pour rien. Je l'ignorais, mais visiblement tu peux ne pas mettre de Then, et dans ce cas il ne faut pas mettre de End (cela crée une erreur de syntaxe). J'ai appris un truc aujourd'hui.

Re: Problème Affichage date et heure

Unread postPosted: 13 Oct 2018, 17:15
by randlog
On peut ne pas mettre de Then si l'instruction suivante est unique, en l'occurrence ça marche puisque qu'il n'y a que Disp machin chouette.
S'il y avait un bloc d'instructions, le then end serait indispensable sauf à vouloir des résultats surprenants (je crois que sans then end il exécute la première instruction si le if est vérifié et l'instruction suivante s'il n'est pas vérifié mais je ne suis plus sûr, à voir...)