Convertisseur texte/Leet Speak en C [Résolu/Fermé]

Signaler
Messages postés
333
Date d'inscription
jeudi 19 février 2009
Statut
Membre
Dernière intervention
9 janvier 2011
-
Messages postés
333
Date d'inscription
jeudi 19 février 2009
Statut
Membre
Dernière intervention
9 janvier 2011
-
Bonjour,

Je voudrais faire un programme en console qui traduit le texte en 1337 (Leet Speak)

Pourriez-vous m'indiquez la fonction qui remplace des caractères par d'autre en C ?

Ce n'est peut-être pas très clair donc voici un exemple (je m'exprime souvent mal ^^) :

Dans un scanf() on écrit : "Bonjour"
et le programme doit nous affiche dans un printf() "80^/]0|_||?"
(Donc, il doit me remplacer le "B" par un "8",le "o" par un "0", le "n" par un "^/" etc...

Merci d'avance :-)

3 réponses

Salut,

Je penses que ce que tu veux dire n'est pas utiliser un autre jeuxx de caractères, donc oui, c'est possible.

Le code est en dessous de ce post.

A chaque caractère, il le trie selon tes critères.

Bye ;)

Ps : Pour system(), certains te diront que c'est de la bidouille. Remplace ces lignes-là alors.

Code :

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

char* tri(char*);

int main(int argc, char *argv[])
{
  char phrase [100];
  while(1){
  printf("Entrez un mot :\n");
  scanf("%s", &phrase);
  printf("\nVous avez entré :\n%s\nLa phrase finale est :\n", phrase);
  printf("%s\n\n", tri(phrase));
  system("pause");
  system("cls"); // Efface l'écran sous Windows
}
  system("pause");	
  return 0;
}

char* tri(char* contenu){
      int i;
      for(i=0; contenu[i]!='\0'; i++){
               switch(contenu[i]){
               case 'B' : contenu[i]='8';
               break;
               case 'o' : contenu[i]='0';
               break;
               case 'n' : contenu[i]='^';
               // Déolé, c'est par caractère, tu ne peux pas remplacer par plusieurs.
               // Essaie de bidouiller une fonctionne qui le fait.
               break;
               case 'j' : contenu[i]=']';
               // ... //
               // ... //
               default : break;
               }
      }
      return contenu;
}

Salut,

Voici un code qui trie chacun des caractères.

Bye ;)

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

char* tri(char*);

int main(int argc, char *argv[])
{
  char phrase [100];
  while(1){
  printf("Entrez un mot :\n");
  scanf("%s", &phrase);
  printf("\nVous avez entré :\n%s\nLa phrase finale est :\n", phrase);
  printf("%s\n\n", tri(phrase));
  system("pause");
  system("cls"); // Efface l'écran sous Windows
}
  system("pause");	
  return 0;
}

char* tri(char* contenu){
      int i;
      for(i=0; contenu[i]!='\0'; i++){
               switch(contenu[i]){
               case 'B' : contenu[i]='8';
               break;
               case 'o' : contenu[i]='0';
               break;
               case 'n' : contenu[i]='^';
               // Déolé, c'est par caractère, tu ne peux pas remplacer par plusieurs.
               // Essaie de bidouiller une fonctionne qui le fait.
               break;
               case 'j' : contenu[i]=']';
               // ... //
               // ... //
               default : break;
               }
      }
      return contenu;
}

Messages postés
333
Date d'inscription
jeudi 19 février 2009
Statut
Membre
Dernière intervention
9 janvier 2011
60
Merci, je vais essayer :D