[Resolu] probleme en C : comparaison de chaine de caractere

probleme en C : comparaison de chaine de caractere [Resolu] - C - Programmation

Marsh Posté le 31-12-2011 à 23:42:18    

Bonsoir à tous et bonne année 2012 (un peu en avance oui)  :)  
 
Alors voilà mon problème, je suis débutant en langage C, ça fait une semaine et demis que j'ai commencé à l'apprendre en autodidacte et donc je m'entraine à faire des petits programmes en mode console seulement je bute vraiment sur le programme ci-dessous et je ne comprend pas ce qui ne va pas.
 
C'est un script qui permet à un utilisateur d'écrire son login et son mot de passe. Si son login ou son mot de passe est correct alors la phrase "Bonjour samishii" s'affiche, sinon un message d'erreur apparait.
Donc je veux que le seul login accepté soit "samishii" et que le mot de passe soit "juju" tout autre mot entrainerait le message d'erreur "votre login ou votre mot de passe est erroné".
 
Mais le problème c'est que même quand je tape le bon login (samishii) et le bon mot de passe (juju) je me retrouve avec le message d'erreur... Je précise aussi que le débogueur ne me trouve aucunes erreurs, même pas un petit warning.    
 
Merci d'avance à ceux qui pourraient m'éclairer sur ce qui ne va pas dans mon programme :)    
   

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. int main()
  5. {
  6. char identifiant[50], motDePasse[50], samishii[9], juju[5];
  7.     printf("\n\n====IDENTIFICATION====\n\n" );
  8.     printf("login : " );
  9.         scanf("%s" ,identifiant);
  10.     printf("pass : " );
  11.         scanf("%s" ,motDePasse);
  12. if (strcmp(identifiant,samishii)==0 && (strcmp(motDePasse,juju)==0))
  13. {
  14.     printf("\nBonjour samishii\n" );
  15. }
  16. else
  17. {
  18.     printf("\nvotre login ou votre mot de passe est errone\n" );
  19. }
  20.     return 0;
  21. }


Message édité par samishii le 01-01-2012 à 21:33:36
Reply

Marsh Posté le 31-12-2011 à 23:42:18   

Reply

Marsh Posté le 01-01-2012 à 01:03:11    

il manque une initialisation de samishii et juju  (qui sont vide quand tu fais les strcmp).
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 01-01-2012 à 14:13:46    

dans ton cas, tu veux simplement que ton initialisation ressemble à ca :
 

Code :
  1. char identifiant[50], motDePasse[50], samishii[]="samishii", juju[]="juju";


 
les identifiants de variables n'ont aucun rapport avec ce que contiennent les variables par défaut.


---------------
last.fm
Reply

Marsh Posté le 01-01-2012 à 21:18:58    

Merci beaucoup gilou et theshockwave pour vos réponses, ça à complètement résolu mon problème, ça va bien m'aider pour la suite :)  

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed