Petit probleme pour un mot en c...

Fermé
Code - Modifié par KX le 2/06/2015 à 19:23
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 2 juin 2015 à 22:26
Bonjours j'aimerais savoir comment mettre une phrase a la place d'une seul lettre je vous montre mon script pour que se soit plus claire

int main()
{
    int mdp;
    int mdpentrer;

    mdp = ('tonmdp');

    printf("entrez le mot de passe:\n");
    scanf("%c", &mdpentrer );
    printf("\n");
    if(mdpentrer == mdp)
        {
            printf("mot de passe correct\n");

    }

donc a la place de "tonmdp" j'aimerais mettre un mot mais ca ne marche pas cra "%c" ne prend qu'un seul caractère merci de repondre vite ;)
A voir également:

1 réponse

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
2 juin 2015 à 22:26
Bonjour,

mdp = ('tonmdp');
Tu peux pas. mdp est un entier...
Si tu veux que mdp soit une chaîne de caractères, il faut mettre :
char mdp[25];

Et pour stocker le contenu de mdp :
strcpy(mdp, "tonmdp");

A noter que tu peux mettre directement :
char mdp[]="tonmdp";


scanf("%c", &mdpentrer );
De même, mdpentrer est un int. Donc plutôt :
char mdpentrer[25];

Puis à la place du scanf() :
scanf("%24s", mdpentrer);


if(mdpentrer == mdp)
Comparaison de strings, il faut donc utiliser plutôt strcmp().
Ce qui donne :
if (strcmp(mdpentrer, mdp) == 0)

Dans ton code, il manque l'accolade finale. Et enfin il manque un <code c>return 0;
en fin du main().

Note : je te conseille la (re)lecture d'un tuto pour approfondir les bases. Exemple : https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c

Cdlt,
0