Voila je dois réaliser un petit exo de rien du tout en programmation cobol mais j'ai un petit problème
Je ne sais pas faire de modulo pourtant j'utilise la fonction :
- Code: Tout sélectionner
IDENTIFICATION DIVISION.
PROGRAM-ID. X-A.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
CLASS ALPHABETIK IS "a" thru "z";"A" thru "Z"
CLASS NUMERIK IS "0" thru "9".
DATA DIVISION.
WORKING-STORAGE SECTION.
77 ENTRER PIC x.
77 MODULO PIC 9.
PROCEDURE DIVISION.
DISPLAY "Entrez un caractere".
ACCEPT ENTRER.
IF ENTRER IS ALPHABETIK
THEN DISPLAY ENTRER " est une LETTRE" WITH NO
ADVANCING
IF ENTRER IS ALPHABETIC-LOWER
THEN DISPLAY " minuscule, donc caractere ALPHABETIQUE"
END-IF
IF ENTRER IS ALPHABETIC-UPPER
THEN DISPLAY " majuscule, donc caractere ALPHABETIQUE"
END-IF
END-IF.
IF ENTRER IS NUMERIK
THEN DISPLAY ENTRER " est un CHIFFRE" WITH NO ADVANCING
COMPUTE MODULO = FUNCTION MOD(ENTRER 2). [color=#FF0000]il me met une erreur ici[/color]
IF ENTRER = '0'
THEN DISPLAY ENTRER " est un CHIFFRE qui est 0 donc"
"3caractere NUMERIQUE"
END-IF.
IF MODULO = '0'
THEN DISPLAY " pair, donc caractere NUMERIQUE"
END-IF[color=#FF0000]il me met une erreur ici[/color]
ELSE
THEN DISPLAY " impair, donc caractere NUMERIQUE"
END-IF[color=#FF0000]il me met une erreur ici[/color]
END-IF.
IF ENTRER IS (NOT ALPHABETIK) AND (NOT NUMERIK)
THEN DISPLAY "Ceci n'est ni une lettre, ni un chiffre !!!"
END-IF.
STOP RUN.
Désolé pour l'indentation mais elle veut pas ce faire je ne sais pas pour quoi
Voila j'ai regardé sur internet pour trouver une solution mais je ne trouve pas :(
En espérant que vous pouvez m'aider
merci