Aidez moi à detecter l 'erreur
Fermé
hannou_hana
-
Modifié par BmV le 22/02/2011 à 20:33
Hxyp Messages postés 401 Date d'inscription vendredi 28 janvier 2011 Statut Membre Dernière intervention 27 avril 2014 - 23 févr. 2011 à 13:45
Hxyp Messages postés 401 Date d'inscription vendredi 28 janvier 2011 Statut Membre Dernière intervention 27 avril 2014 - 23 févr. 2011 à 13:45
A voir également:
- Aidez moi à detecter l 'erreur
- Erreur 1004 vba ✓ - Forum VB / VBA
- Erreur 1000 france tv - Forum MacOS
- Youtube une erreur s'est produite ✓ - Forum YouTube
- Free erreur 38 ✓ - Forum Mobile
- Code erreur s05-05 - Forum Téléviseurs
1 réponse
Hxyp
Messages postés
401
Date d'inscription
vendredi 28 janvier 2011
Statut
Membre
Dernière intervention
27 avril 2014
54
23 févr. 2011 à 13:45
23 févr. 2011 à 13:45
Bonjour,
Correction des fonctions avec le filtrage des caractères et mise en majuscules + suppression de toutes les variables globales et modifications qui vont avec, pas touché aux fonction pour l'enregistrement et la lecture dans un fichier alors à vous de les refaire à partir de ça:
Correction des fonctions avec le filtrage des caractères et mise en majuscules + suppression de toutes les variables globales et modifications qui vont avec, pas touché aux fonction pour l'enregistrement et la lecture dans un fichier alors à vous de les refaire à partir de ça:
#include<stdio.h>
#include<string.h>
/* cryptage */
char *cryptage(char *destination,char* ptexte, char* pclef)
{
int i = 0,lgclef=strlen(pclef),lgtexte=strlen(ptexte);
do
{
int j = 0;
do
{
if (isalpha(*(ptexte + i))!= 0)
{
*(destination + i) = (*(ptexte + i) + *(pclef + j) - 2 * 'A') % 26 + 'A';
i++;
j++;
}
else
{
*(destination + i) = *(ptexte + i);
i++;
}
}
while (j < lgclef);
}
while (i < lgtexte);
return destination;
}
char *decryptage(char *destination,char* p, char* pclef)
{
int i = 0,lgclef=strlen(pclef),lgtexte=strlen(p);
do
{
int j = 0;
do {
if (isalpha(*(p + i))!= 0)
{
*(destination + i) = (*(p + i) - *(pclef + j))%26 +'A' ;
i++;
j++;
}
else
{
*(destination + i) = *(p+i);
i++;
}
}
while (j < lgclef);
}
while (i < lgtexte);
}
//fonction de majuscules de chaine
char upcase(char c)
{
if ((c>=97)&&(c<=122))
return c-32;
switch(c)
{
case 'à':return 'A';
case 'â':return 'A';
case 'ä':return 'A';
case 'ã':return 'A';
case 'é':return 'E';
case 'è':return 'E';
case 'ê':return 'E';
case 'ë':return 'E';
case 'ì':return 'I';
case 'î':return 'I';
case 'ï':return 'I';
case 'ô':return 'O';
case 'ö':return 'O';
case 'ò':return 'O';
case 'õ':return 'O';
case 'ù':return 'U';
case 'ü':return 'U';
case 'û':return 'U';
case 'ç':return 'C';
case 'ñ':return 'N';
default: return c;
}
}
char * upcase_string(char *chaine)
{
int i,l=strlen(chaine);
for(i=0; i<l; i++)
chaine[i]=upcase(chaine[i]);
return chaine;
}
int main()
{
char textecrypte[256],textedecrypte[256],texte[256],cle[10];
printf("+++taper le texte à coder : ");
gets(texte);
printf("+++taper la clef : ");
gets(cle);
printf("+++Texte : %s\n+++Cle : %s\n",
upcase_string(texte),upcase_string(cle));
cryptage(textecrypte,texte,cle);
printf("\nle texte crypte : %s\n",textecrypte);
decryptage(textedecrypte,textecrypte,cle);
printf("le texte decrypte : %s\n",textedecrypte);
}