Convertisseur texte/Leet Speak en C

Résolu
$ Enzo $ Messages postés 359 Statut Membre -  
$ Enzo $ Messages postés 359 Statut Membre -
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 :-)
A voir également:

3 réponses

Bilow
 
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;
}

0
Bilow
 
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;
}

0
$ Enzo $ Messages postés 359 Statut Membre 61
 
Merci, je vais essayer :D
0