Probleme en programation c
janima9
-
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;
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
-
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();
} -
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.