PDA

View Full Version : سوال: 3 بار تکرار



habiballahafg
جمعه 24 مهر 1394, 13:08 عصر
با سلام
من دارم سی شارپ یاد می گیرم. معلم از ما خواسته برنامه ای بنویسیم که در صورتی که کاربر رمز رو تا 3 باز اشتباه میزنه برنامه بیاد دوباره درخواست ورود رمز رو تکرار کنه و بعد از دفعه سوم دیگه کاربر به بخش ورود رمز نره.
ممکن هست کدی که باعث انجام مجدد تا دفعه سوم بشه رو بگین. من خودم نظرم رو حلقه for هست. آیا میشه با این حلقه نوشت؟
تشکر

hamzehsh
جمعه 24 مهر 1394, 13:52 عصر
به نظرم یک متغیر برای شمارنده در نظر بگیر هر وقت که چک کردن رمز صورت گرفت در صورتیکه درست نبود یکی به شمارنده اضافه کنه
در زمان چک کردن رمز هم شرط رو بیار


public int inti = 0;




inti =+1;
if (inti == 3)

habiballahafg
یک شنبه 26 مهر 1394, 15:29 عصر
خوب من مثلا بخوام که در صورت نادرست بودن رمز، برنامه برگرده به خط اول یعنی نقطه شروع.
ممکن هست بگین این بخش رو چی جور حل کنم؟
تشکر

محمد رضا فاتحی
دوشنبه 27 مهر 1394, 18:55 عصر
شما می تونید با While بنویسید
اگه تحت کنسول نوشتید....

int error =0;
bool ok = false;
while (error<3)
{


Console.Write("Enter Password:");
string password= Console.ReadLine();
if (password == "12345")
{
ok = true;
break;
}
else
{
error++;
}
}
if (ok)
{
Console.WriteLine("Passwoird is OK");
Console.ReadLine();
}
else
{
Console.WriteLine("The number of attempts to enter more than allowed");
Console.ReadLine();
}


اگه هم تحت ویندوزه که یه همچین گدی!!

int x = 0;
if (txtcode.Text != "123")
{
x++;
if (x >= 3)
{
MessageBox.Show("تعداد سعی برای ورود بیش از حد مجاز می باشد");
Application.Exit();
}
}
else
{
MessageBox.Show("روز ورود صحیح می باشد");
}

habiballahafg
سه شنبه 28 مهر 1394, 04:22 صبح
شما می تونید با While بنویسید
اگه تحت کنسول نوشتید....

int error =0;
bool ok = false;
while (error<3)
{


Console.Write("Enter Password:");
string password= Console.ReadLine();
if (password == "12345")
{
ok = true;
break;
}
else
{
error++;
}
}
if (ok)
{
Console.WriteLine("Passwoird is OK");
Console.ReadLine();
}
else
{
Console.WriteLine("The number of attempts to enter more than allowed");
Console.ReadLine();
}


اگه هم تحت ویندوزه که یه همچین گدی!!

int x = 0;
if (txtcode.Text != "123")
{
x++;
if (x >= 3)
{
MessageBox.Show("تعداد سعی برای ورود بیش از حد مجاز می باشد");
Application.Exit();
}
}
else
{
MessageBox.Show("روز ورود صحیح می باشد");
}

تشکر فراوان از پاسختون.