سلام بر همه اساتید
این مسئله برام خیلی مهمه چون از خیلی وقت پیش پروژه آخر ترمو شروع کردم حالا که تموم شده، فقط این مونده:
میخوام وقتی اول برنامه پسورد وارد می کنیم کاراکتر هاش به صورت * نمایش داده بشه
ممنون
Printable View
سلام بر همه اساتید
این مسئله برام خیلی مهمه چون از خیلی وقت پیش پروژه آخر ترمو شروع کردم حالا که تموم شده، فقط این مونده:
میخوام وقتی اول برنامه پسورد وارد می کنیم کاراکتر هاش به صورت * نمایش داده بشه
ممنون
سلام
اول یه متغیر رشته ای در نظر میگیری که خالیه.
بعد باید با getch یک کاراکتر رو بخونی و اگه عددی یا رقمی بود اونو به رشته اضافه میکنی و یک ستاره چاپ کنی در غیر این صورت اگر کد آن 8 بود(کد کلید BackSpace) کاراکتر آخر موجود در رشته رو حذف میکنی و این روند ادامه داره تا زمانی که کلید Enterزده بشه.
فکر کنم با این توضیحات مشکلت حل بشه.
این کد رو نگاه کن :
البته من اینو به عنوان Sample برای نشون دادن بیـس کار نوشتم.کد:#include<iostream.h>
#include<conio.h>
int main()
{
char *password="";
char a;
int finish=0;//false
int i=0;
clrscr();
cout<<"enter password: ";
while(!finish)
{
a=getch();
if(a==13)
{ password[i]='\0'; finish=1;}
else
{
password[i]=a;
cout<<"*";
i++;
}
}//while
cout<<endl;
cout<<password<<endl;
cout<<"Press any key to exit...";
getch();
return 0;
}
موفق باشید
salam merci az hamatoon karam lange hamin bud...
vaghan merci...
و 4 سال بعد...!
می تونید از این تابع برای اینکار استفاده کنید.
void get_pass(void)
{
char s[100], p[100] = "esme ramz dar in ghesmat";
printf("please enter password = ");
for (int i = 0; i < 100; i++)
{
s[i] = getch();
if (s[i] == 13)
{
s[i] = '\0';
break;
}
printf("%c", '*');
}
printf("\n");
if (strcmp(s, p) != 0)
{
printf("password is incorrect");
getch();
exit(1); l
{
هدر ها:
l <conio.h>
<stdio.h>
<iostream.h> l