Probleme en programation c

Fermé
janima9 - 21 févr. 2010 à 23:24
 janima9 - 22 févr. 2010 à 20:33
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 mercredi 7 janvier 2009 Statut Membre Dernière intervention 29 novembre 2020 27
22 févr. 2010 à 09:24
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
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