Bonjour à tous.
Je dois faire pour les cours un programme lisant un fichier contenant 1000 mots de passe puis de les analysez afin de déterminer les caractères les plus probables.
Le fichier est construit de la manière suivante:
Il y a un mot de passe par ligne chacun composé d'une lettre (A ou B) puis de 4 chiffres. Par exemple B0548 ou A7321.
Voici mon problème:
J'ai essayé de récupérer les mots de passe avec cette ligne de code:
char lettre0;
int chiffre0,chiffre1,chiffre2,chiffre3;
fscanf(f,"%c%d%d%d%d",&lettre0,&chiffre0,&chiffre1,&chiffre2,&chiffre3\n");
Mais le problème c'est que chiffre0 enregistre les 4 chiffres...
Je ai donc utilisé ce bout de code:
char lettre0,char0,char1,char2,char3;
fscanf(f,"%c%c%c%c%c\n",&lettre0,&char0,&char1,&char2,&char3");
Le problème a été résolu, mais un autre est apparu...
Je dois ensuite tester chaque caractère pour pouvoir comptabiliser le nombre 0, de 1... dans les mots de passe.
J'utilise ce bout de code:
int compteur=0;
while(compteur<10)
{
if(char0==k)
//instructions
k=k+1;
}
Le problème est que pour comparer un char il faut mettre la syntaxe suivante char0==
'k
'; mais en utilisant cette syntaxe il me compare char0 à la lettre k et non pas à sa valeur...
J'ai réussi à comparer chaque caractère en utilisant un switch avec 10 possibilités, mais ce n'est pas du tout propre!
Peut être est-il possible de caster mon char0 en int mais il me semble qu'ils ne sont pas codées sur le même nombre de bits.
En espérant que vous aurez le courage de me lire et que vous aurez une piste pour moi, je vous souhaite de bons challenges!
Mogg41