Programation pascal
loujaine221
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
AIDEZ MOA !!!
élaboré ... intitulé VERIF-DATE qui permet de vérifier si une date saisi a partir du clavier sous forme JJ-MM-AA est correct ou non .
le programme doit afficher le message :
« la date JJ-MM-AA est correct « si la date est correct .
« la date JJ-MM-AA n’est correct « si la date n’est pa corect
Exp :
Date saisi 10-20-2003 le message afficher est : n’est correct.
Date saisi 10-01-2003 le message afficher est : correct .
AIDEZ MOA !!!
élaboré ... intitulé VERIF-DATE qui permet de vérifier si une date saisi a partir du clavier sous forme JJ-MM-AA est correct ou non .
le programme doit afficher le message :
« la date JJ-MM-AA est correct « si la date est correct .
« la date JJ-MM-AA n’est correct « si la date n’est pa corect
Exp :
Date saisi 10-20-2003 le message afficher est : n’est correct.
Date saisi 10-01-2003 le message afficher est : correct .
A voir également:
- Programation pascal
- Turbo pascal - Télécharger - Édition & Programmation
- My pascal - Télécharger - Édition & Programmation
- Dev pascal - Télécharger - Édition & Programmation
- Programation - Forum Programmation
- Programation - Forum Programmation
2 réponses
Déjà si ton format d'année est AA, 2003 ne devrait pas être valide.
Ensuite ton problème se résout avec quelques conditions "if" ou "case of"
Ensuite ton problème se résout avec quelques conditions "if" ou "case of"
Voici une proposition de code, je pense avoir traité tous les cas de saisies incorrectes.
program loujaine221; function verifDate(s:string):boolean; var boolJ,boolM,boolA:boolean; intJ,intM,intA,errJ,errM,errA:integer; begin if (length(s)=8) and (s[3]='-') and (s[6]='-') then begin val(copy(s,1,2),intJ,errJ); val(copy(s,4,2),intM,errM); val(copy(s,7,2),intA,errA); end else begin writeln('La date "',s,'" n''est pas correcte'); writeln('La date doit etre sous la forme JJ-MM-AA'); result:=false; exit; end; if (errJ=0) and (errM=0) and (errA=0) // JJ then begin boolJ:=(intJ>=1) and (intJ<=31); boolM:=(intM>=1) and (intM<=12); boolA:=(intA>=0) and (intA<=99); // toujours vrai puisque errA=0 end else begin writeln('La date "',s,'" n''est pas correcte'); writeln('JJ, MM, et AA doivent etre des entiers valides'); result:=false; exit; end; if boolJ and boolM and boolA then begin case intM of 1,3,5,7,8,10,12: result:=(intJ<=31); // toujours vrai puisque boolJ 2: result:=(intJ<=29) and ((intA mod 4=0) or (intJ<>29)); 4,6,9,11: result:=(intJ<=30); end; end else result:=false; if result then writeln('La date "',s,'" est correcte') else begin writeln('La date "',s,'" n''est pas correcte'); writeln('JJ, MM, et AA ne peuvent pas etre quelconques'); end; end; ////////////////////////////////////////////////////////// var date:string; begin while true do begin write('Entrez une date au format JJ-MM-AA : '); readln(date); verifDate(date); writeln; end; end.