Probleme en programation c

janima9 -  
 janima9 -
Bonjour,j'ai un probleme dans mon code source je cacher le mot de passe en etoile j'ai fais comme ca
mais le probleme qund je tape sur del il m'affiche une etoile. voila le code source

char log[20],mpass[20];
int a=0,j=0;
char car;
system("cls");
printf("\n\n");
printf("Login :");
scanf("%s",log);
printf("\n\n");
printf("Mot de passe :");
do{
car = getch();
printf("*");
if(car != 13)
{

mpass[j] = car;
j++;

}

}while(car !=13);
mpass[j] = '\0';

aidez moi svp;
Configuration: Windows 7 / Firefox 3.5.7

2 réponses

  1. mattdusud Messages postés 240 Date d'inscription   Statut Membre Dernière intervention   27
     
    faut faire une selection des caracteres a utiliser:

    #include<stdio.h>
    #include<math.h>

    main()
    {
    char log[20],mpass[20];
    int a=0,j=0;
    char car;
    system("cls");
    printf("\n\n");
    printf("Login :");
    scanf("%s",log);
    printf("\n\n");
    printf("? puis entrée pour quitter\n\nMot de passe :");

    do{
    car = getch();
    if(car>='a'&&car<='z'||car>='A'&&car<='Z'||car>='0'&&car<='9')
    {
    printf("*");
    if(car != '?')
    {

    mpass[j] = car;
    j++;

    }
    }
    }while(car !='?');

    getch();

    }
    0
  2. janima9
     
    merci mais la question c'est quand je tape sur effacer ou back space il m'affiche une etoile donc je veux effacer l'étoile précédente et merci aussi pour ton aide.
    0