PDA

View Full Version : مبتدی: نشان دادن * به جای ورود رمز در محیط کنسول



sadrsystem
سه شنبه 05 فروردین 1393, 18:46 عصر
با سلام
تو یه پروژه لازم دارم که هنگامی که کاربر داره پسورد رو تایپ میکنه بجاش * درج بشه :متفکر:
و نهایتا بعد از زدن کلید اینتر پسورد رو تو یه متغیر ذخیره کنه که بتونم صحتش رو چک کنم
البته توی محیط فرم آسونه ولی برنامه من توی محیط کنسول اجرا میشه :ناراحت:
ممنون میشم کمک کنید

علی شهریاری
دوشنبه 11 فروردین 1393, 14:16 عصر
سلام دوست عزیز
من به برنامه نویسی ++c تسلت کافی دارم اما سی شارپ نه این کد ++c هست که این کارو انجام میده
#include <iostream.h>
#include <conio.h>
using namespace std;
int main()
{
system("color 16");
const int password=123456;
int ans=0;
char ch=0;
cout<<"please enter passwoed for login: ";
while((ch=getch())!= 13)
if(ch>='0' && ch<='9')
{ cout.put('*');
ans *=10;
ans +=(ch-48);
}
if(password==ans)
cout<<"\nwelcome to mjz program.\n";
else
cout<<"can not login!!!!!!\n";

getch();
return 0;

}

abdullah20
دوشنبه 11 فروردین 1393, 14:37 عصر
این کدش هستش

string password = ""; ConsoleKeyInfo info = Console.ReadKey(true);
while (info.Key != ConsoleKey.Enter)
{
Console.Write("*");
password += info.KeyChar;
info = Console.ReadKey(true );
}
Console.WriteLine();
Console.WriteLine(password);

البته اگر کاربر پسورد را اشتباه وارد کرد و بخواد پاک کنه باید کد را تغییر بدیم اگر نیاز داشتید بگید تا براتون بزارم