Bonjour,
J'ai un problème pour convertir une chaine de caractere date de la forme jj/mm/aaaa en entier représentant jour, mois et année en code pascal :
A l'exécution, quelque soit la date que je rentre ça donne 0 jour 0 mois 0 année, pourquoi ?Code:program transfoDate; var date : string; jour, mois, annee : integer; i, posUn, posDeux, posSlashUn, posSlashDeux, er: integer; motJour, motMois, motAnnee : string; begin readln(date); posUn:=1; while date[posUn]<>'/' do posUn:=posUn+1; posSlashUn:=posUn; posDeux:=posUn+1; while date[posDeux]<>'/' do posDeux:=posDeux+1; posSlashDeux:=posDeux; for i:=1 to (posSlashUn-1) do motJour[i]:=date[i]; for i:=posSlashUn+1 to posSlashDeux-1 do motMois[i]:=date[i]; for i:=posSlashDeux+1 to length(date) do motAnnee[i]:=date[i]; writeln(motJour); writeln(motMois); writeln(motAnnee); val(motJour, jour, er); val(motMois, mois, er); val(motAnnee, annee, er); writeln('Jour : ',jour); writeln('Mois : ',mois); writeln('Annee : ',annee); end.
J'ai volontairement pas renvoyé la valeur de " er " car je suppose qu'on rentre une expression valide.
Merci, au revoir.
-----