fixed a bug that added extra characters in the word obfuscated
This commit is contained in:
parent
2267eda745
commit
6e1d65a638
1 changed files with 12 additions and 9 deletions
21
main.c
21
main.c
|
@ -48,28 +48,31 @@ char * recuperationMot(const char file[]) { // pour récupérer un mot aléaotoi
|
|||
return mot;
|
||||
}
|
||||
|
||||
int caractereSpecial(char mot) { // vérification que la lettre n'est pas un caractere special
|
||||
if(mot == ' ') return 1;
|
||||
if(mot == '\'') return 1;
|
||||
if(mot == '-') return 1;
|
||||
int caractereSpecial(char lettre) { // vérification que la lettre n'est pas un caractere special
|
||||
if(lettre == ' ') return 1;
|
||||
if(lettre == '\'') return 1;
|
||||
if(lettre == '-') return 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
char * obfuscation(char mot[], int lettresValidees[], int taille) { // pour afficher les trous dans le mot
|
||||
int tailleMot = taille * 2;
|
||||
char * motCache = malloc(tailleMot * sizeof(char));
|
||||
int tailleMotCache = taille * sizeof(char) * 2;
|
||||
char * motCache = malloc(tailleMotCache); // x2 pour l'espace entre les "_"
|
||||
int j = 0;
|
||||
for(int i = 0; i < taille; i++) {
|
||||
if(lettresValidees[i] != 1) {
|
||||
if(caractereSpecial(mot[i]) == 0) motCache[j] = '_'; else {
|
||||
if(lettresValidees[i] != 1) { // pas trouvé
|
||||
if(caractereSpecial(mot[i]) == 0) motCache[j] = '_'; // si c'est pas un caractère spéciale
|
||||
else { // si c'en est un
|
||||
motCache[j] = mot[i];
|
||||
lettresValidees[i] = 1;
|
||||
}
|
||||
} else motCache[j] = mot[i];
|
||||
} else motCache[j] = mot[i]; // trouvé
|
||||
motCache[j + 1] = ' '; // on rajoute un espace entre les underscores
|
||||
j = j + 2;
|
||||
}
|
||||
for(int i = 0; i < longueurMot(motCache); i++)
|
||||
if(i >= tailleMotCache) motCache[i] = 0;
|
||||
|
||||
return motCache;
|
||||
}
|
||||
|
|
Reference in a new issue