PDA

View Full Version : آموزش: الگوریتم کد ملی



NASA's Spaceman
یک شنبه 07 اردیبهشت 1393, 21:56 عصر
سلام
در این بخش میخوام یه کدنویسی بهتون یاد بدم که کد ملی رو تست میکنه
فقط یه تکست باکس میخواد و یه دکمه و این کد ها رو تو دکمه باید بنویسین
private void button1_Click(object sender, EventArgs e) {
try
{
char[] chArray = this.textBox1.Text.ToCharArray();
int[] numArray = new int[chArray.Length];
for (int i = 0; i < chArray.Length; i++)
{
numArray[i] = (int)char.GetNumericValue(chArray[i]);
}
int num2 = numArray[9];
switch (this.textBox1.Text)
{
case "0000000000":
case "1111111111":
case "22222222222":
case "33333333333":
case "4444444444":
case "5555555555":
case "6666666666":
case "7777777777":
case "8888888888":
case "9999999999":
MessageBox.Show("کد ملی وارد شده صحیح نمی باشد");
break;
}
int num3 = ((((((((numArray[0] * 10) + (numArray[1] * 9)) + (numArray[2] * 8)) + (numArray[3] * 7)) + (numArray[4] * 6)) + (numArray[5] * 5)) + (numArray[6] * 4)) + (numArray[7] * 3)) + (numArray[8] * 2);
int num4 = num3 - ((num3 / 11) * 11);
if ((((num4 == 0) && (num2 == num4)) || ((num4 == 1) && (num2 == 1))) || ((num4 > 1) && (num2 == Math.Abs((int)(num4 - 11)))))
{
MessageBox.Show("کد ملی صحیح می باشد");
}
else
{
MessageBox.Show("کد ملی نامعتبر است");
}
}
catch (Exception)
{
MessageBox.Show("لطفا یک عدد 10 رقمی وارد کنید");
}
}
امیدوارم بدردتون خورده باشه
با سپاس Spaceman