PDA

View Full Version : چگونه عدد زیر را تیکه تیکه کنم ؟



dele_ghamgin_2008
پنج شنبه 25 اردیبهشت 1393, 09:23 صبح
سلام . من دارم یک آزمون طراحی می کنم . که 4 گزینه ای است . این آزمون 20 سوال دارد . و کاربر جوابیه را به شکل زیر باید برایم ارسال نماید (از طریق ایمیل):
32432123123432123432

عدد بالا یک نمونه از پاسخنامه می باشد که نشان می دهد کدام گزینه ها را به ترتیب در آزمون انتخاب کرده است . حال در اینجا 3 گزینه اول آزمون به ترتیب کاربر اینگونه جواب داده است :
سوال 1 = 3
سوال 2 = 2
سوال 3 = 4

حال چگونه می توانم این اعداد رو تیکه تیکه کنم تا بتوانم تشخیص دهم و شرط بگذارم که ابتدا تشخیص دهد که کاربر پاسخ سوال 1 را برابر 3 ارسال کرده است. و اگر این عدد 3 با جوابیه که به فرض عدد 2 بود برابر بود . و برابر نبود را اعلام کند.

می دانم که باید از اسپلیت استفاده کرد . ولی نمی دانم چگونه.

لطفاً کمکم کنید.

karimi72
پنج شنبه 25 اردیبهشت 1393, 11:47 صبح
دوست عزیز احتیاجی به تکه تکه کردن هم نیست به هر رشته ی string می توان با استفاده از ایندکس ها دسترسی داشت مثلا برای سوال اول که گزینه 3 است این گونه عمل کنید :
نام رشته string دریافتی از کاربر aگذاشته ام و فرض بر این است که گزینه 3 درست است با عبارت زیر می توانید درستی گزینه یک را پیدا متوجه شوید حال برای تمام گزینه فقط به حلقه نیاز خواهی داشت که گزینه ها را عوض کند

int.Parse(a[0]).Equals(3);

marmulak_7
پنج شنبه 25 اردیبهشت 1393, 12:14 عصر
آقای کریمی به جواب خوبی اشاره کردن ولی برای درک بهتر موضوع یک نمونه کد برای شما نوشتم :


string x = "32432123123432123432";
foreach (var t in x)
{
switch (int.Parse(char.ToString(t)))
{
case 1:
//Cod
break;
case 2:
//Cod
break;
case 3:
//Cod
break;
case 4:
//Cod
break;
}
}


موفق باشید.

dele_ghamgin_2008
پنج شنبه 25 اردیبهشت 1393, 14:10 عصر
آقای کریمی به جواب خوبی اشاره کردن ولی برای درک بهتر موضوع یک نمونه کد برای شما نوشتم :


string x = "32432123123432123432";
foreach (var t in x)
{
switch (int.Parse(char.ToString(t)))
{
case 1:
//Cod
break;
case 2:
//Cod
break;
case 3:
//Cod
break;
case 4:
//Cod
break;
}
}


موفق باشید.

من این کد رو نوشتم . کاری هم انجام نداد . مشکلم اینجاست . اصلاً این از کجا تشخیص میده جواب سوال 1 کدومه ؟

فرض کنید جواب صحیح آزمون به این شکل باشد : 12341234123412341234
حال باید بگویید جوابیه ارسالی با جواب صحیح را تشخیص دهد . که به ازای هر پاسخ صحیح یک کانتر وجود داشته باشد و شمارش کند که نمره طرف چند می شود.

dele_ghamgin_2008
پنج شنبه 25 اردیبهشت 1393, 14:19 عصر
دوست عزیز احتیاجی به تکه تکه کردن هم نیست به هر رشته ی string می توان با استفاده از ایندکس ها دسترسی داشت مثلا برای سوال اول که گزینه 3 است این گونه عمل کنید :
نام رشته string دریافتی از کاربر aگذاشته ام و فرض بر این است که گزینه 3 درست است با عبارت زیر می توانید درستی گزینه یک را پیدا متوجه شوید حال برای تمام گزینه فقط به حلقه نیاز خواهی داشت که گزینه ها را عوض کند

int.Parse(a[0]).Equals(3);


خطا می گیرد : نگاه کنید :
private void btnJavab_Click(object sender, EventArgs e) {

string a = "32432123123432123432";
int.Parse(a[0]).Equals(3);
}

headshoter
پنج شنبه 25 اردیبهشت 1393, 15:13 عصر
int result = 0;
string SAMPLE = "023456789";
string sample = "123456789";
for (int i = 0; i <= 8; i++)
{
if (SAMPLE[i] == sample[i])
{
result++;
}
}
MessageBox.Show("تعداد گزینه های درست = " + result.ToString());

dele_ghamgin_2008
پنج شنبه 25 اردیبهشت 1393, 15:49 عصر
int result = 0;
string SAMPLE = "023456789";
string sample = "123456789";
for (int i = 0; i <= 8; i++)
{
if (SAMPLE[i] == sample[i])
{
result++;
}
}
MessageBox.Show("تعداد گزینه های درست = " + result.ToString());


:بوس:
تاحالا کجا بودی ؟ من خودم نوشتم . ولی واسه تو خیلی بهتره . من اینجوری نوشته بودم :

int count = 0; string a = txtJavab.Text;


if (txtJavab.TextLength == 20)
{


if (a[0].ToString() == "1")
{
count++;
}


if (a[1].ToString() == "1")
{
count++;
}


if (a[2].ToString() == "1")
{
count++;
}}

headshoter
پنج شنبه 25 اردیبهشت 1393, 19:09 عصر
:بوس:
تاحالا کجا بودی ؟ من خودم نوشتم . ولی واسه تو خیلی بهتره . من اینجوری نوشته بودم :

int count = 0; string a = txtJavab.Text;


if (txtJavab.TextLength == 20)
{


if (a[0].ToString() == "1")
{
count++;
}


if (a[1].ToString() == "1")
{
count++;
}


if (a[2].ToString() == "1")
{
count++;
}}

فقط اگه کسی که میخواد جواب بده یه سوال رو بلد نباشه باید چی کار کنه ؟

dele_ghamgin_2008
پنج شنبه 25 اردیبهشت 1393, 21:05 عصر
فقط اگه کسی که میخواد جواب بده یه سوال رو بلد نباشه باید چی کار کنه ؟
باید ..... شه بره دوباره کل کتاب رو بخونه تا بفهمه کجای کارش اشکال داشت . دقیقاً هدف منم اینه که ندونه پاسخ غلطش کدوم بوده . تا مجبورش کنم بره کل کتاب رو دوباره بخونه. این آزمون خوب جواب خودش رو داده . سر این الان همه جا دعوا شده روی سایت . مرسی مهندس گل :بوس:

Ashkanan9937
جمعه 26 اردیبهشت 1393, 00:03 صبح
سلام

به نظر من باید جواب صحیح رو داخل یک آرایه ریخت و جواب کاربر یا پاسخ دهنده رو هم داخل یک آرایه دیگه و دو آرایه با هم مقایسه بشه.

dele_ghamgin_2008
جمعه 26 اردیبهشت 1393, 09:09 صبح
سلام

به نظر من باید جواب صحیح رو داخل یک آرایه ریخت و جواب کاربر یا پاسخ دهنده رو هم داخل یک آرایه دیگه و دو آرایه با هم مقایسه بشه.
بله . درسته . خودم اینو می دونستم . ولی نحوه کد نویسی رو بلد نبودم که مهندس
headshoter (http://barnamenevis.org/member.php?204239-headshoter) جواد را دادند.
جوابم رو پیدا کردم . مرسی