Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2852 connectés 

  FORUM HardWare.fr
  Programmation
  C

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°2118891
samishii
Posté le 31-12-2011 à 23:42:18  profilanswer
 

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
mood
Publicité
Posté le 31-12-2011 à 23:42:18  profilanswer
 

n°2118898
gilou
Modérateur
Modzilla
Posté le 01-01-2012 à 01:03:11  profilanswer
 

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é!  --
n°2118928
theshockwa​ve
I work at a firm named Koslow
Posté le 01-01-2012 à 14:13:46  profilanswer
 

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
n°2118974
samishii
Posté le 01-01-2012 à 21:18:58  profilanswer
 

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 :)  


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

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

 

Sujets relatifs
Problème avec file_existsProblème de lecture d'un fichier avec fread
DE C++ EN C[C]Comment récupérer une saisie clavier ?
Problème de margin sur mon site[C Multitâche] Récupérer un string sur stdin
Les fichiers en C[résolu]Problème déploiement et routage heroku.
Probleme d'écriture sur un script[C#] Cacher des méthodes d'une interface
Plus de sujets relatifs à : [Resolu] probleme en C : comparaison de chaine de caractere


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR