Pb de code source

Résolu
cs_Peabody Messages postés 2 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 26 avril 2006 - 26 avril 2006 à 13:18
cs_Peabody Messages postés 2 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 26 avril 2006 - 26 avril 2006 à 14:21
Bonjour à tous,
Alors voila je debute en C et mon programme a un petit problème.
Voici le code source:

#include <conio.h>
#include <stdio.h>
#define maxi 5

void main (void)
{
    int i=0;
    char login[7];
    char pass[7];
    char l1[7]="adrien";
    char p1[7]="adrien";
    while(i<maxi)
    {
        printf ("\nentrez un login\n");
        scanf ("%s",login);
        printf ("entrez un pass\n");
        scanf ("%s",pass);
        i++;
        if ((login==l1)&&(pass==p1))
        {
        printf("ok\n");
        break;
        }
        else printf("faux\n");
    }
    getch();
}

Je pense que le probleme se situe dans ma definition de chaine ou son initialisation,car quel que soit le login et le pass rentrer j'ai toujours le meme resultat -->FAUX
svp j'ai besoin d'un coup de main!!
merci d'avance.

2 réponses

turnerom Messages postés 492 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 12 janvier 2012 1
26 avril 2006 à 14:11
Avec des char, tu peux pas faire de = = mais il faut utiliser strcmp ou encore mieu strcnmp.
Enfin, à l'initialisation, prefere un malloc style :
char * login = (char*)malloc(sizeof(char)*7)
Mais ensuite, noubli pas de verifier la chaine entrée par l'utilisateur, car si elle fait + de 6 charactères --> Segmentation fault

#include <conio.h>
#include <stdio.h>
#define maxi 5

void main (void)
{
    int i=0;
    char login[7];
    char pass[7];
    char l1[7]="adrien";
    char p1[7]="adrien";
    while(i<maxi)
    {
        printf ("\nentrez un login\n");
        scanf ("%s",login);
        printf ("entrez un pass\n");
        scanf ("%s",pass);
        i++;        if ( strcmp (l1,login) 0 && strcmp (p1,pass) 0)
        {
        printf("ok\n");
        break;
        }
        else printf("faux\n");
    }
    getch();
}

TuRn3r
3
cs_Peabody Messages postés 2 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 26 avril 2006
26 avril 2006 à 14:21
Merci bcp, j'avais oublié que pour les chaines c'était un peu plus complexe a traité.
Je te remercie encore.
0
Rejoignez-nous