Caracteres

Bonjour, a tous quelqu'un aura une solution pour ce code :

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
char MotDePasse [100];

while(MotDePasse != "john")
{
printf("Entrez le mot de pass ? ");
scanf("%s", MotDePasse);
}

else
{
printf("Salut john, je suis heureux de te revoire !\n\n");
}
return 0;
}

aidez moi svp

2 réponses

  1. Contributeur
    Hello,
    déjà tu as un "else" sans "if"... C'est une première chose. Corrige déjà ça puis reposte ton code :o)
    0
    1. jai trouvé moi meme la solution :

      #include <stdio.h>
      #include <stdlib.h>

      int main(int argc, char *argv[])
      {
      char chaine1[] = "john", chaine2[100];

      while (strcmp(chaine1, chaine2) != 0)
      {
      printf("tapez le mot de passe ");
      scanf("%s",chaine2);

      }
      while (strcmp(chaine1, chaine2) == 0)
      {
      printf("\nBIENVENU A VOTRE ORDINATEUR \n");
      break;}
      return 0;
      }

      merci comeme
      0
      1. Contributeur
        Re
        Bin tu vois :o)
        Par contre je ne vois pas l'utilité d'un second while.
        Si l'utilisateur est sorti de la première boucle, c'est qu'il a tapé le bon mot de passe. Pas besoin de revérifier ensuite.
        Donc un simple
        printf("\nBIENVENU A VOTRE ORDINATEUR \n"); 
        suffit sans le while autour.

        En plus, même si tu voulais vraiment revérifier l'input, un if serait beaucoup plus indiqué qu'un while ;o)
        0