نمایش نتایج 1 تا 12 از 12

نام تاپیک: مشکل در استفاده از switch ... case

  1. #1

    مشکل در استفاده از switch ... case

    سلام دوستان
    من یه کدی شبیه نمونه کد زیر دارم:
    if(.....)
    {
    switch(...)
    {
    case ...:
    .
    .
    .
    break;

    case ...:
    .
    .
    .
    break;
    .
    .
    .
    }
    }
    else if(.....)
    {
    switch(...)
    {
    case ...:
    .
    .
    .
    break;

    case ...:
    .
    .
    .
    break;
    .
    .
    .
    }
    }
    .
    .

    در حالت صحیح نباید مقادیر کیس های مربوط به هر سوئیچ در دیگری دخالت داشته باشند چون هرکدوم داخل {} جداگانه هستند
    ولی نمیدونم چرا همه کیس های مربوط به هر کدام از سوئیچ ها در هم تاثیر گذار هستن همانند اینکه در {} ی اولین سوئیچ قرار داشته باشند که اینگونه نیست!
    لطفا راهنمایی کنید
    با تشکر
    آخرین ویرایش به وسیله محمد آشتیانی : یک شنبه 16 شهریور 1393 در 22:23 عصر دلیل: اضافه کردن تگ کد

  2. #2

    نقل قول: مشکل در استفاده از switch ... case

    میشه منظورتون رو واضح تر بگی؟
    منظورتون از دخالت کد ها چیه؟
    با سپاس Spaceman

  3. #3

    نقل قول: مشکل در استفاده از switch ... case

    نقل قول نوشته شده توسط NASA's Spaceman مشاهده تاپیک
    میشه منظورتون رو واضح تر بگی؟
    منظورتون از دخالت کد ها چیه؟
    با سپاس Spaceman
    ینی کیس های مربوط با سوئیچ دوم از سویچ اول تبعیت میکنن
    هر کدام از سوئیچ ها دارای مقادیر واحدی برای کیس ها هستند ولی ممکنه در همه سوئیچ ها چندین کیس تکراری وجود داشته باشه ک باعث میشه خطا بده که کیس های تکراری وجود داره!

  4. #4

    نقل قول: مشکل در استفاده از switch ... case

    اینجوری مشکلی ندارین و میتونین کارتون رو انجام بدین
                int a = Convert.ToInt32(textBox2.Text);            int b = Convert.ToInt32(textBox1.Text);
    if (b == 1)
    {
    switch (b)
    {
    case 1:
    MessageBox.Show("C#‎");
    break;
    }
    }
    if (a == 1)
    {
    switch (a)
    {
    case 1:
    MessageBox.Show("Programming");
    break;
    }
    }

    ولی اگه کدتون رو میذاشتین راحت تر میشد کمکتون کرد که کجاش مشکل داره
    با سپاس Spaceman

  5. #5

    نقل قول: مشکل در استفاده از switch ... case

    نقل قول نوشته شده توسط NASA's Spaceman مشاهده تاپیک
    اینجوری مشکلی ندارین و میتونین کارتون رو انجام بدین
                int a = Convert.ToInt32(textBox2.Text);            int b = Convert.ToInt32(textBox1.Text);
    if (b == 1)
    {
    switch (b)
    {
    case 1:
    MessageBox.Show("C#‎‎");
    break;
    }
    }
    if (a == 1)
    {
    switch (a)
    {
    case 1:
    MessageBox.Show("Programming");
    break;
    }
    }

    ولی اگه کدتون رو میذاشتین راحت تر میشد کمکتون کرد که کجاش مشکل داره
    با سپاس Spaceman
    من بیشتر از 1000 تا if دارم
    ینی واسه هرکدوم یه متغیر تعریف کنم؟

  6. #6

    نقل قول: مشکل در استفاده از switch ... case

    اینم قسمتی از کد


    else if (userControl11.comboCity.SelectedText.ToString() == "خدا آفرین")
    {
    switch (oldnum.Substring(0, 4))
    {
    case "5382":
    newnum = 44642 + oldnum.Substring(4, 3);
    txtNewNum.Text = newnum;
    txtNewNum2.Text = 41 + newnum;
    txtCityName.Text = "خدا آفرین";
    txtCenterName.Text = "محمودآباد";
    txtSectionName.Text = "مرکزی";
    break;
    case "5383":
    newnum = 44643 + oldnum.Substring(4, 3);
    txtNewNum.Text = newnum;
    txtNewNum2.Text = 41 + newnum;
    txtCityName.Text = "خدا آفرین";
    txtCenterName.Text = "محمودآباد";
    txtSectionName.Text = "مرکزی";
    break;
    }
    }


    else if (userControl11.comboCity.SelectedText.ToString() == "سراب")
    {
    switch (oldnum.Substring(0, 4))
    {
    case "4494":
    newnum = 44646 + oldnum.Substring(4, 3);
    txtNewNum.Text = newnum;
    txtNewNum2.Text = 41 + newnum;
    txtCityName.Text = "خدا آفرین";
    txtCenterName.Text = "قشلاق ازبك";
    txtSectionName.Text = "مرکزی";
    break;
    case "5383":
    newnum = 44650 + oldnum.Substring(4, 3);
    txtNewNum.Text = newnum;
    txtNewNum2.Text = 41 + newnum;
    txtCityName.Text = "خدا آفرین";
    txtCenterName.Text = "حيدركانلو";
    txtSectionName.Text = "مرکزی";
    break;
    }

    }

    مشکل تو کیس 5383 هستش که تو هردو سوئیچ وجود داره
    البته خیلی از این کیس ها تو کدم موجوده ک تکراریه

  7. #7

    نقل قول: مشکل در استفاده از switch ... case

    نقل قول نوشته شده توسط rezakhbonab مشاهده تاپیک
    من بیشتر از 1000 تا if دارم
    ینی واسه هرکدوم یه متغیر تعریف کنم؟

    سلام دوست عزیز .
    به نظرم یکم منطق برنامه اتون غلطه ! مخصوص با این کدی که گذاشتید

    به هر حال من منظورتون رو کامل متوجه نشدم تو پست 3 گفتین خطا میگیره که دوتا Case از این وجود داره ، اگر منظورتون اینه که نمیزاره کامپایل کنید ، من کد بالا رو امتحان کردن مشکلی نداشت ، کامپایل هم شد .
    اگر لطف کنید دقیق تر مشکلتون رو بگید ، بهتر میشه کمکتون کرد

  8. #8
    کاربر دائمی آواتار mohsen12345
    تاریخ عضویت
    دی 1387
    محل زندگی
    فعلا تهران
    پست
    193

    نقل قول: مشکل در استفاده از switch ... case

    حدس من اینه که باگ منطقی دارین ، کدتون رو بذارین تا بیشتر بشه راهنمایی کرد
    با این چند خط نمیشه فهمید کجا باگ منطقی داره
    یه راه دیگه هم برای فهمیدن باگ منطقیتون اینه که Breakpoint توی جاهایی که با این متغییر ها سر کار دارن بذارید و توی هر اجرا با F11 مقدار های همین متغییر هایی که برای IF و Switch استفاده می شه رو چک کنید
    آخرین ویرایش به وسیله mohsen12345 : دوشنبه 17 شهریور 1393 در 09:07 صبح دلیل: کامل تر نوشتن جواب

  9. #9

    نقل قول: مشکل در استفاده از switch ... case

    نقل قول نوشته شده توسط aminmousavi مشاهده تاپیک
    سلام دوست عزیز .
    به نظرم یکم منطق برنامه اتون غلطه ! مخصوص با این کدی که گذاشتید

    به هر حال من منظورتون رو کامل متوجه نشدم تو پست 3 گفتین خطا میگیره که دوتا Case از این وجود داره ، اگر منظورتون اینه که نمیزاره کامپایل کنید ، من کد بالا رو امتحان کردن مشکلی نداشت ، کامپایل هم شد .
    اگر لطف کنید دقیق تر مشکلتون رو بگید ، بهتر میشه کمکتون کرد
    بله دوست عزیزاجازه کامپایل نمیده! میگه که کیس های تکراری داره

  10. #10

    نقل قول: مشکل در استفاده از switch ... case

    اگر 1000 خط کد شما همین مقایسه ها هست میتونم با قاطعیت بگم منطق اشتباهی رو انتخاب کردی.

    میتونی این نیاز رو با دیتابیس های سبک و یا حتی فایل(مانند فایل xml) بر طرف کنی. در این حالت به جای 1000 خط کارت شاید با کمتر از 10 خط هم راه بیفته.

  11. #11

    نقل قول: مشکل در استفاده از switch ... case

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    اگر 1000 خط کد شما همین مقایسه ها هست میتونم با قاطعیت بگم منطق اشتباهی رو انتخاب کردی.

    میتونی این نیاز رو با دیتابیس های سبک و یا حتی فایل(مانند فایل xml) بر طرف کنی. در این حالت به جای 1000 خط کارت شاید با کمتر از 10 خط هم راه بیفته.
    عزیز من تازه کارم
    اگه با نمونه کدهای ساده راهنماییم کنید ممنون میشم
    نزدیک 20000 خط کد دارم که همش همین شکلی مقایسه هستش

  12. #12

    نقل قول: مشکل در استفاده از switch ... case

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

تاپیک های مشابه

  1. مشکل با switch case
    نوشته شده توسط aali361 در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 9
    آخرین پست: چهارشنبه 17 اردیبهشت 1393, 19:50 عصر
  2. مشکل در استفاده از دستور switch
    نوشته شده توسط adonis27 در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 2
    آخرین پست: پنج شنبه 28 آذر 1392, 14:23 عصر
  3. سوال: مشکل با تابع switch-case
    نوشته شده توسط امیر حسینی مقدم در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 3
    آخرین پست: پنج شنبه 28 دی 1391, 14:33 عصر
  4. راهنمائی کنید:چگونگی استفاده از چند نوع روش جستجو با استفاده از switch case
    نوشته شده توسط honamik در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 2
    آخرین پست: پنج شنبه 02 آذر 1391, 07:43 صبح
  5. مشکل در استفاده از case در بخش where یک select
    نوشته شده توسط احمد سامعی در بخش T-SQL
    پاسخ: 2
    آخرین پست: دوشنبه 11 اردیبهشت 1391, 11:40 صبح

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •