begin process at 2012 05 28 17:05:34
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Compression, Split & Cryptage

 > 

Besoin pour probleme code de cesar


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Besoin pour probleme code de cesar

mardi 25 mars 2008 à 19:48:33 | Besoin pour probleme code de cesar

fearwhite

Bonjour, a tous je commence dans le langage C et j'ai codé un programme sur la base du code de cesar :

#include <stdio.h>
#include <stdlib.h>

static void purger(void)
{
    int c;

    while ((c = getchar()) != '\n' && c != EOF)
    {}
}

int main(void)
{
    char texte[255] ;
 char codage[255] ;
 long nbrdecalage  ;
 long util = 1 ;
 long i=0 ;
    printf("                          ***********************\n");
    printf("                             ******  Bonjour  ******\n");
 printf("                             ***********************\n\n\n");
 printf("Bienvenue dans le programme de cryptage et de decryptage d'une phrase\n\n");
 printf("Choisissez :\n\n");
 printf("1-Cryptage\n\n");
 printf("2-Decryptage\n\n");
 scanf("%ld", &util);
 printf("\n");
if (util == 1)
{
  printf("Bienvenue dans le programme de cryptage d'une phrase\n\n");
  printf("Choisissez votre decalage :\n\n");
  scanf("%d", &nbrdecalage);
  printf("\n");
  purger();
  printf("Saisissez votre texte\n\n");
  fgets(texte,sizeof texte ,stdin);
   for(i=0;texte[i]!='\0';codage[i] = (texte[i]+nbrdecalage)%256,i++) ;
  printf("Voici le message crypte :\n\n\t%s", codage);
  printf("\n");

 


}
else if (util == 2)
{
  printf("Bienvenue dans le programme de decryptage d'une phrase\n\n");
  printf("Choisissez votre decalage :\n\n");
  scanf("%d", &nbrdecalage);
  printf("\n");
  purger();
  printf("Saisissez votre texte\n");
  fgets(texte,100 ,stdin);
   for(i=0;texte[i]!='\0';codage[i] = (texte[i]-nbrdecalage)%256,i++) ;
  printf("Voici le message crypte :\n %s", codage);
  printf("\n");


}
else
{
printf("Redemarrez le programme & choisissez une option valide\n\n");
}

    system("PAUSE");
 return 0;
}

Le probleme est que quand je rentre une phrases des caratères s'affiche a la fin du resultats du codage
[ Lien ]
Si quelqun pouvait m'aider ^^
merci d'avance

mardi 25 mars 2008 à 21:04:37 | Re : Besoin pour probleme code de cesar

vecchio56

Administrateur CodeS-SourceS
C'est juste que tu oublies de copier le '\0' dans le résultat

for(i=0;texte[i]!='\0';codage[i] = (texte[i]+nbrdecalage)%256,i++) ;

->

for(i=0; texte[i]; i++)
{
    codage[i] = (texte[i]+nbrdecalage)%256; // Ca sert a rien de tout mettre dans le for, et c'est illisible
}
codage[i] = 0;
_____________________________________
Un éditeur de ressources gratuit pour Windows

mardi 25 mars 2008 à 21:33:04 | Re : Besoin pour probleme code de cesar

fearwhite

Merci la reponse rapide mais le probleme est toujours present
mercredi 26 mars 2008 à 01:37:03 | Re : Besoin pour probleme code de cesar

jfrancois

1) Remplacer les fgets() par gets().
2) Ajouter les zéros binaires à la fin des chaînes codées.
3) Ne pas mélanger les gestions de boucles avec le traitement des boucles !

      printf("Saisissez votre texte\n\n");
      gets(texte);
      for (i=0 ; texte[i]!=0 ; i++)
         codage[i] = (texte[i] + ou - nbrdecalage) % 256;
      codage[i] = 0;

4) Et attention au cas où le résultat du modulo 256 donnera un zéro binaire !

Jean-François

mercredi 26 mars 2008 à 11:10:26 | Re : Besoin pour probleme code de cesar

fearwhite

Merci bc sa marche


Cette discussion est classée dans : programme, texte, printf, codage, nbrdecalage


Répondre à ce message

Sujets en rapport avec ce message

Un ptit pb en C, Debutant 2 . [ par Tkaos ] Voila encore un probleme, apres avoir appris a me servir du "if" j'ai fait ce petit programme :#include #include #include int main(void) { char szname Pb debutant "C" 2 [ par Tkaos ] Voila encore un probleme, apres avoir appris a me servir du "if" j'ai fait ce petit programme :#include #include #include int main(void){char szname[1 pb programme très très simple [ par surfeurnet ] voila il s'agit d'un programme très simple qui ne fait pas d'erreurs à la compilation avec dev-cpp mais qui plante quand je l'exécute :#include char n [Fichier Texte] Comment récuperer les informations [ par wallon14 ] Bonjour !Je voudrai savoir comment réaliser un programme qui me permettrai de:- Selectionner le nom d'un fichier- Déterminer le nombre de lignes, de c switch case et gets [ par fab30 ] Bonjour, je travaille avec Dev c++ et lorsque que fait un prog contenant un gets dans un switch case ou dans une fonction appelée depuis un switch cas envoyer une commande à l'intérieure du programme sous forme de string [ par oudkaramla ] bonjour tout le monde j'ai un programme qui demande à l'utilisateur d'entrer une commande sur la fenêtre consolesauf que moi je veux le faire à l'inté TCL / TK avec un langage C [ par nounouX ] bonjour a tous j'aimerai essayer de faire un petit programme C avec une interface graphique TCL / TK, et j'aimerai savoir si il existe un site avec de aide pour mon premier programme merci [ par newbieratus ] je debute ca fait une semaine que j'ai commencer le C et g creer un petit programme mais il ne marche pas !! quelqu' un pourrait t'il m'aider et me di retirer les doublons d'un document texte [ par akwell1 ] salut a tous je dois faire un petit programme en c++ mais je suis pas tres douer:j'ai un fichier texte sous la forme suivante:203.125.118.17217.215.12 Programme en C [ par tweeti08 ] Voila mon problème, je débute dans le C et j'ai commencer un programme permettant de crypter par les carctère alphabétique mais le hic c ke je sui pa


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,714 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales