marinahda | j ai écrit un code qui décale les alphabets dans une chaîne de caractères, et ça se compile mais en exécution le programme s’arrête , et j arrive pas à trouver le problème, je pose si dessous mon code si vous pouvez m'aider
Code :
- #include<stdio.h>
- #include<stdlib.h>
- #include<string.h>
- char decale(char c, char debut, int decalage)
- {
- while (decalage<0)
- {
- decalage+=26;
- }
- return debut + (((c - debut) + decalage) % 26);
- }
- char codec(int d, char c)
- {
- if(c>='a'&&c<='z')
- {
- return decale(c,'a',d);
- }
- else if(c>='A'&&c<='Z')
- {
- return decale(c,'A',d);
- }
- return d;
- }
- char* code(char* chaine ,int n)
- {
- int i;
- for(i=0; i<strlen(chaine);i++)
- {
- chaine[i]=codec(n,chaine[i]);
- }
- return chaine;
- }
- char* decode(char*chaine , int n)
- {
- int i;
- for(i=0; i<strlen(chaine);i++)
- {
- chaine[i]=codec(-n,chaine[i]);
- }
- return chaine;
- }
- main(){
- int n;
- char * chaineE , *chaineS;
- printf("entrer un entier de decalage: " );
- scanf("%d",&n);
- printf("entrez votre chaine ici : " );
- scanf("%s",chaineE);
- chaineS =code(chaineE,n);
- printf("la nouvelle chaine avec le decalage de %d est : \n %s\n",n,chaineS);
- printf("la nouvelle chaine avec le decalage de %d est : \n %s",n,decode(chaineS,n));
- getch();
- }
|
Message édité par gilou le 14-11-2017 à 22:15:32
|