Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2781 connectés 

  FORUM HardWare.fr
  Programmation
  C

  probleme en programmation c "chaine de caracteres dans une fonction

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

probleme en programmation c "chaine de caracteres dans une fonction

n°2307695
marinahda
Posté le 13-11-2017 à 23:31:59  profilanswer
 

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 :heink: , et j arrive pas à trouver le problème, je pose si dessous mon code si vous pouvez m'aider   :(  :whistle:  

Code :
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4. char decale(char c, char debut, int decalage)
  5. {
  6. while (decalage<0)
  7. {
  8.  decalage+=26;
  9. }
  10. return debut + (((c - debut) + decalage) % 26);
  11. }
  12. char codec(int d, char c)
  13. {
  14.  if(c>='a'&&c<='z')
  15. {
  16.  return decale(c,'a',d);
  17. }
  18. else if(c>='A'&&c<='Z')
  19. {
  20.  return decale(c,'A',d);
  21. }
  22. return d;
  23. }
  24. char* code(char* chaine ,int n)
  25. {
  26. int i;
  27. for(i=0; i<strlen(chaine);i++)
  28. {
  29.  chaine[i]=codec(n,chaine[i]);
  30. }
  31. return chaine;
  32. }
  33. char* decode(char*chaine , int n)
  34. {
  35. int i;
  36. for(i=0; i<strlen(chaine);i++)
  37. {
  38.  chaine[i]=codec(-n,chaine[i]);
  39. }
  40. return chaine;
  41. }
  42. main(){
  43. int n;
  44. char * chaineE , *chaineS;
  45. printf("entrer un entier de decalage: " );
  46. scanf("%d",&n);
  47. printf("entrez votre chaine ici : " );
  48. scanf("%s",chaineE);
  49.     chaineS =code(chaineE,n);
  50.     printf("la nouvelle chaine avec le decalage de %d est : \n %s\n",n,chaineS);
  51.  printf("la nouvelle chaine avec le decalage de %d est : \n %s",n,decode(chaineS,n));
  52. getch();
  53. }


Message édité par gilou le 14-11-2017 à 22:15:32
mood
Publicité
Posté le 13-11-2017 à 23:31:59  profilanswer
 

n°2307696
rat de com​bat
attention rongeur méchant!
Posté le 13-11-2017 à 23:47:18  profilanswer
 

Tu devrais revoir les bases des chaînes de caractères en C. Une chaîne de caractères c'est un tableau avec '\0' comme dernier élément. Il en suit qu'il faut réserver de la place avant de demander à l'utilisateur de saisir quelque chose. De même on ne peut PAS passer une chaîne de caractères comme argument, on peut passer uniquement un pointeur vers cette chaîne. On ne peut pas non plus assigner une chaîne avec '='.
C'est un peu compliqué tout ça mais essentiel, je te conseille de relire ton cours ou un bon livre (ou tutoriel mais faut se méfier un peu de ce qu'on trouve sur le net parfois).
Tu devrais mettre ton code entre balises http://forum-images.hardware.fr/icones/message/c.gif. edit: Merci gilou. :jap:

 

Aussi tu devrais activer (et prendre en compte) les warnings de ton compilateur (pour GCC: rajouter -Wall voire -Werror aussi aux arguments en ligne de commande):

Citation :

test.c:47:1: warning: return type defaults to 'int' [enabled by default] <-- c'est int main(void)
test.c: In function 'main':
test.c:60:2: warning: implicit declaration of function 'getch' [-Wimplicit-function-declaration] <-- le header est conio.h
test.c:54:7: warning: 'chaineE' is used uninitialized in this function [-Wuninitialized] <-- à ignorer, le code est faux.


Message édité par rat de combat le 17-11-2017 à 19:52:01

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  probleme en programmation c "chaine de caracteres dans une fonction

 

Sujets relatifs
[Matlab/Octave] Fonction x_n = f(x_(n-1))Probleme avec ActiveX InternetExplorer.Application suite a Fall Creato
Résoudre un problème mathématique d'optimisation via une interface webFonctions implémentés par gcc
Programmation Amazon AWS IoTPYTHON=>EXE Problème !
problème de gotoandstop/play et les séquences[résolu]SQL afficher valeur d'une ligne en fonction d'une condition
Probleme performance et structure de donnees avec MongoDBCSS: image hauteur 100% et largeur 50%, problème marge.
Plus de sujets relatifs à : probleme en programmation c "chaine de caracteres dans une fonction


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR