Ou est l'erreur dans mon code? (pascal)
leduk69
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
leduk69 Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
leduk69 Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour a tous. Voila, je me lance en ce moment dans le pascal, et j'ai un code de cryptage simple a faire. Il me semblait avoir fait quelquechose de correct, mais le fichier cible contient exactement la meme chose que le fichier source au final.
(a savoir: les chemins de fichiers ont été evidemment verifiés :) )
Voici le code:
{* Cryptage *}
PROGRAM cryptage;
USES crt;
VAR
source, cible: file of char;
lettre, cle: char;
nbcle, nblettre, nba, nbcar: INTEGER;
BEGIN
WRITELN ('Veuillez saisir une cl‚ de crytage');
Readln (cle);
Assign (source, 'Z:\turbo\source.txt');
Assign (cible, 'Z:\turbo\cible.txt');
RESET (source);
REWRITE (cible);
READ (source, lettre);
WHILE (NOT EOF(source)) DO
BEGIN
IF (lettre>'@') AND (lettre<'[')THEN
BEGIN
nbcle := ORD(cle);
nblettre := ORD(lettre);
nba := ORD('A');
nblettre := nblettre+(nbcle-nba);
lettre := CHR(nblettre);
END;
IF (lettre>'Z')THEN
BEGIN
nbcar := ORD('[');
nblettre := nba+(nblettre-nbcar);
lettre := CHR(nblettre);
END;
WRITE(cible, lettre);
READ(source, lettre);
END;
CLOSE(source);
CLOSE(cible);
END.
(a savoir: les chemins de fichiers ont été evidemment verifiés :) )
Voici le code:
{* Cryptage *}
PROGRAM cryptage;
USES crt;
VAR
source, cible: file of char;
lettre, cle: char;
nbcle, nblettre, nba, nbcar: INTEGER;
BEGIN
WRITELN ('Veuillez saisir une cl‚ de crytage');
Readln (cle);
Assign (source, 'Z:\turbo\source.txt');
Assign (cible, 'Z:\turbo\cible.txt');
RESET (source);
REWRITE (cible);
READ (source, lettre);
WHILE (NOT EOF(source)) DO
BEGIN
IF (lettre>'@') AND (lettre<'[')THEN
BEGIN
nbcle := ORD(cle);
nblettre := ORD(lettre);
nba := ORD('A');
nblettre := nblettre+(nbcle-nba);
lettre := CHR(nblettre);
END;
IF (lettre>'Z')THEN
BEGIN
nbcar := ORD('[');
nblettre := nba+(nblettre-nbcar);
lettre := CHR(nblettre);
END;
WRITE(cible, lettre);
READ(source, lettre);
END;
CLOSE(source);
CLOSE(cible);
END.
A voir également:
- Ou est l'erreur dans mon code? (pascal)
- Code ascii - Guide
- Turbo pascal - Télécharger - Édition & Programmation
- My pascal - Télécharger - Édition & Programmation
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide