IDENTIFICATION DIVISION.
PROGRAM-ID. EXO-ACCEPT-18.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-REPONSE PIC X VALUE SPACE.
PROCEDURE DIVISION.
DISPLAY "Voulez-vous continuer ? (O/N) : "
ACCEPT WS-REPONSE
IF WS-REPONSE = "O"
DISPLAY "Vous avez repondu O : on continue."
ELSE
DISPLAY "Vous avez repondu autre chose : on s'arrete."
END-IF
STOP RUN.
Lecture simple
ACCEPT WS-REPONSE lit ce que l’utilisateur tape et le met dans la variable. Ici, on attend un seul caractère : PIC X. Ensuite, on compare ce caractère à “O”.
Votre micro-exercice
Faites ces 3 modifications :
- Acceptez aussi “o” (minuscule) en ajoutant un deuxième test, ou en normalisant la saisie.
- Si la réponse est “N”, affichez “Arret demande”.
- Si la réponse n’est ni O ni N, affichez “Reponse invalide”.
Erreur fréquente à éviter
Choisir un champ trop court ou trop long. Si vous mettez PIC X(20) pour une réponse O/N, vous stockez des espaces inutiles, et vous compliquez parfois les comparaisons.
Autre piège : oublier d’afficher une question avant ACCEPT. Le programme “attend”, mais l’utilisateur ne sait pas quoi saisir.