Programme en C

Hanan -  
swoog42 Messages postés 1178 Statut Membre -
Bonjour,

je veux m'aider pr savoir ou est le probleme dans ce programme qui demande à l'utilisateur de saisir le pseudo(TDI) et le mote de passe(7) pour être bienvenu

#include <stdio.h>
void main(){
int m;
char p;

printf("saisir le PSEUDO :");
scanf("%s",&p);

if(p=="TDI"){
printf("saisir le MOTE DE PASSE :");
scanf("%d",&m);
if(m==7)
printf("bienvenu");
else
do{
printf("saisir le MOTE DE PASSE correctement:");
scanf("%d",&m);
}
while(m!=7);
printf("bienvenu");
}

else{
do
{
printf("saisir correctement PSEUDO :");
scanf("%s",&p);
}
while(p!="TDI");
printf("MOTE DE PASSE :");
scanf("%d",&m);
if(m==7)
printf("bienvenu");
else
do{
printf("saisir le MOTE DE PASSE correctement:");
scanf("%d",&m);
}
while(m!=7);
printf("bienvenu");
}}

Merci pr vous

1 réponse

  1. swoog42 Messages postés 1178 Statut Membre 245
     
    Salut.

    Déjà, avant tout, on ne compare pas une chaine en C de cette manière
    p=="TDI";

    mais comme ca :
    strcmp(&p, "TDI");


    Attention : à 2 chaines identiques, strcmp() renvoie 0.
    Donc pour tester tes chaines, ton test sera :
    if( !strcmp(&p, "TDI") )


    Bosse déjà la dessus, et tu reprends contact si tu as encore des problèmes.

    Pour info sur cette fonction : Fonction strcmp()
    0