Crypteur de chaîne de caractère en C

Aller en bas

Crypteur de chaîne de caractère en C

Message  akamaru le Sam 24 Nov - 0:35

Ce petit programme en C a été entièrement codé par moi, bien sur le
cryptage est très simple et n'utilise pas de clef de cryptage, je ne me
suis pas concentré sur le code concernant le cryptage mais je compte
m'y attarder

Remarquez que l'on ne peux pas entrer une chaînes
de caractères avec un ou plusieurs espaces, sinon ça bug, allez voir ma
présentation j'y est expliqué mon problème, ^^

J'accepte toute remarque^^ ( bonne ou mauvaise )

Voci le code :

Code:

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

#define MAX 1000

//Veuillez, s'il vous plaît, respecter mon travaille en laissant ce commentaire...
//By akamaru

char crypt( char chaineC[], long LchaineC);
char decrypt( char chaineC[], long LchaineC );

int main()
{

printf("Tapez \"help\" dans la console pour afficher la liste des commandes disponibles :\n\n\n");

int exit = 1;

do
{

    char chaine[MAX] = "";
    printf("Console> ");
    scanf("%s", chaine);

    if ( strcmp("help", chaine) == 0 )
    {
        printf("\nhelp        affiche toutes les commandes disponibles\n");
        printf("exit        Quitte la console\n");
        printf("crypt        Permet de crypter un mot (espace non tolere)\n");
        printf("decrypt        Permet de decrypter un mot (espace non tolere)\n\n");
        }
        else if ( strcmp("exit", chaine) == 0 )
        {
            exit = 0;
            }

            else if ( strcmp("crypt", chaine) == 0 )
            {


            //chaine[MAX] = "";

            printf("\nCrypt> ");

            scanf("%s", chaine);

            long Lchaine =  0;

            Lchaine = strlen(chaine);


            crypt( chaine, Lchaine );
            printf("Crypted -> %s\n\n", chaine);

                }
                else if ( strcmp("decrypt", chaine) == 0 )
                {
            //chaine[MAX] = "";

            printf("\nDecrypt> ");
            scanf("%s", chaine);
            long Lchaine = strlen(chaine);
            decrypt( chaine, Lchaine );
            printf("Decrypted -> %s\n\n", chaine);
                    }



                    else if ( strcmp("test", chaine) == 0 )
                    {
      char chaine01[20];

    printf("Tapez une phrase : \n");
    fgets(chaine01, sizeof chaine01, stdin);
    printf("Vous avez tape : '%s'", chaine01);
                        }



        else
        {
            printf("Commande invalide\n");
            }

} while ( exit == 1 );

    return 0;
    }

    char crypt( char chaineC[], long LchaineC )
    {
        long i;



        for ( i = 0 ; i != LchaineC ; i++ )
        {

            chaineC[i] = chaineC[i] - 5;
            }

        }

            char decrypt( char chaineC[], long LchaineC )
    {
        long i;



        for ( i = 0 ; i != LchaineC ; i++ )
        {

            chaineC[i] = chaineC[i] + 5;
            }

        }






Dernière édition par le Sam 24 Nov - 15:12, édité 1 fois

akamaru

Messages : 7
Date d'inscription : 24/11/2007

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Crypteur de chaîne de caractère en C

Message  DR_KILLER le Sam 24 Nov - 0:45

Magnifique coding Wink

Continues comme ça ...

DR_KILLER
Administrateur
Administrateur

Messages : 148
Date d'inscription : 27/08/2007
Localisation : Nord.

Voir le profil de l'utilisateur http://www.programmer-facile.org

Revenir en haut Aller en bas

Re: Crypteur de chaîne de caractère en C

Message  akamaru le Sam 24 Nov - 0:49

Merci ça fait plaisir ^^ mais j'accepte aussi les remarques, peut être aurais-je pu faire plus clair non ? comment aurais-je pu m'organiser autrement ?
je sais pas moi lol, je veux au moin une remarque négatif pour que je puisse l'améliorer :p

akamaru

Messages : 7
Date d'inscription : 24/11/2007

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Crypteur de chaîne de caractère en C

Message  Brucelee410 le Sam 24 Nov - 13:31

Oui tu aurais pus faire plus claire si tu veux je peux corriger un peu ton programme pour qu'il fasse un peu moin de ligne ^^

Code:
Dans ton printf("Tapez \\"help\\" dans la console pour afficher la liste des commandes disponibles :\\n\\n\\n");
Le help ne fonctionneras pas ^^ et sa va foirer car si tu remarque les guillemets

("Tapez \\" " dans la console pour afficher la liste des commandes disponibles :\\n\\n\\n");
donc il ne prendra pas en compte le help Wink


Dernière édition par le Sam 24 Nov - 21:26, édité 2 fois

Brucelee410

Messages : 64
Date d'inscription : 27/08/2007

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Crypteur de chaîne de caractère en C

Message  akamaru le Sam 24 Nov - 13:34

Ah ouai si ça te dérange pas comme ça je pourrais voir un peu une autre manière de coder parceque chacun a sa manière de coder et ça me fera pas de mal de voir un code source de moi modifier par quelqu'un d'autre ^^

akamaru

Messages : 7
Date d'inscription : 24/11/2007

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Crypteur de chaîne de caractère en C

Message  Brucelee410 le Sam 24 Nov - 13:50

Une question, tu travail sur quoi DevC++?
Sinon voile le code corriger sur BorlandC++:

Code:
#include
#include
#include
#define MAX 1000
//Veuillez, s'il vous plaît, respecter mon travaille en laissant ce commantaire...
//By akamaru
char crypt( char chaineC[], long LchaineC);
char decrypt( char chaineC[], long LchaineC );
void main(void)
{
int exit = 1;
long Lchaine = 0;
printf("Tapez 'help' dans la console pour afficher la liste des commandes disponibles :\n\n\n");

do
{
char chaine[MAX] = "";
printf("Console> ");
scanf("%s", chaine);
if ( strcmp("help", chaine) == 0 )
{
printf("\nhelp affiche toutes les commandes disponibles\n");
printf("exit Quitte la console\n");
printf("crypt Permet de crypter un mot (espace non tolere)\n");
printf("decrypt Permet de decrypter un mot (espace non tolere)\n\n");
}
else if ( strcmp("exit", chaine) == 0 )
exit = 0;
else if ( strcmp("crypt", chaine) == 0 )
{
//chaine[MAX] = "";
printf("\nCrypt> ");
scanf("%s", chaine);
Lchaine = strlen(chaine);
crypt( chaine, Lchaine );
printf("Crypted -> %s\n\n", chaine);
}
else if ( strcmp("decrypt", chaine) == 0 )
{
//chaine[MAX] = "";
printf("\nDecrypt> ");
scanf("%s", chaine);
Lchaine = strlen(chaine);
decrypt( chaine, Lchaine );
printf("Decrypted -> %s\n\n", chaine);
}
else if ( strcmp("test", chaine) == 0 )
{
char chaine01[20];
printf("Tapez une phrase : \n");
fgets(chaine01, sizeof chaine01, stdin);
printf("Vous avez tape : '%s'", chaine01);
}
else
printf("Commande invalide\n");
} while ( exit == 1 );
return 0;
}
char crypt( char chaineC[], long LchaineC )
{
long i;
for ( i = 0 ; i != LchaineC ; i++ )
chaineC[i] = chaineC[i] - 5;
}
char decrypt( char chaineC[], long LchaineC )
{
long i;
for ( i = 0 ; i != LchaineC ; i++ )
chaineC[i] = chaineC[i] + 5;
}
Voila alors tu utilises les \\ pour faire passer a la ligne mais c'est faux il n'en faut qu'un.
Pour tes variables,declare les justes apres l'accolade de ta fonction main.

Brucelee410

Messages : 64
Date d'inscription : 27/08/2007

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Crypteur de chaîne de caractère en C

Message  akamaru le Sam 24 Nov - 15:07

Ah nan bah y'a eu un bug sur le forum moi je code sous CodeBlocks et je ne fais pas \\n mais \n j'édite mon post vous verrez...

Regarde la preuve : Brucelee ton code corrigé a été modifié, regarde les includes ça me l'a fait à moi aussi quand j'ai voulu poster sur ce forum c'est un peu merdique je trouve Sad

akamaru

Messages : 7
Date d'inscription : 24/11/2007

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Crypteur de chaîne de caractère en C

Message  Brucelee410 le Sam 24 Nov - 21:25

non il n'y a pas de bug ou alors ca ne te le fait qu'a toi car je n'ai pas le probleme du double backslash ni des includes
Au dessus il prend comme pour un lien en faite Wink

Brucelee410

Messages : 64
Date d'inscription : 27/08/2007

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Crypteur de chaîne de caractère en C

Message  Sophocle le Lun 6 Avr - 20:47

Bonjour à tous,

Désolé j'avais pas de compilateur sous la main pour tester le code source, mais je verrais bien un truc comme ça...

Code:

#include "stdio.h"
#include "stdlib.h"
#include "string.h"

#define MAX 1000+1

//Veuillez, s'il vous plaît, respecter mon travaille en laissant ce commentaire...
//By akamaru

char crypt(char chaineC[], long LchaineC);
char decrypt(char chaineC[], long LchaineC);

int main(){
  printf("Tapez \"help\" dans la console pour afficher la liste des commandes disponibles :\n\n\n");
  int exit = 1;
  do{
    char chaine[MAX] = "";
    printf("Console> ");
    fgets(chaine, MAX, stdin);
    switch(chaine){
      case"help":
        printf("\nhelp  =  Affiche toutes les commandes disponibles\n");
        printf("exit    =  Quitte la console\n");
        printf("crypt    =  Permet de crypter un mot (espace non tolere)\n");
        printf("decrypt  =  Permet de decrypter un mot (espace non tolere)\n\n");
        break;
      case "exit":
        exit = 0;
        break;
      case "crypt":
          printf("\nCrypt> ");
          scanf(" 1000%sA-Za-z0-9", chaine);
          long Lchaine =  0;
          Lchaine = strlen(chaine);
          crypt( chaine, Lchaine );
          printf("Crypted -> %s\n\n", chaine);
      case "decrypt":
          printf("\nDecrypt> ");
          scanf(" 1000%sA-Za-z0-9", chaine);
          long Lchaine = strlen(chaine);
          decrypt(chaine, Lchaine);
          printf("Decrypted -> %s\n\n", chaine);
          break;
      default:
            printf("Commande invalide\n");
            break;
    }
  }
  while(exit == 1);
    return 0;
}

char crypt(char chaineC[], long LchaineC){
  long i;
  for(i = 0; i != LchaineC; i++){
    chaineC[i] = chaineC[i] - 5;
  }
}

char decrypt(char chaineC[], long LchaineC){
  long i;
  for(i = 0; i != LchaineC; i++){
    chaineC[i] = chaineC[i] + 5;
  }
}

Sophocle

Messages : 1
Date d'inscription : 06/04/2009

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Crypteur de chaîne de caractère en C

Message  Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum