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;

2 réponses

mattdusud Messages postés 241 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
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