0 امتیاز
سلام. وقت بخیر
من یک برنامه ساده در حال طراحی هستم. ولی در بخش دستور سوئیچ به مشکل بر خورد کردم.
میخوام دستوری بنویسم با کمک سوئیچ که وقتی کاربر عددی رو بعنوان معدل وارد کرد، اگر در بازه عددی بین 17 تا 20 بود یک پاسخ به من بده و اگر در بازه بین 13 تا 16 بود یک مقدار و الا آخر...
من کلی سایت رو بررسی کردم. ولی مطلبی دریافت نکردم. ممنون میشم کمک کنید.
منم این سوال رو دارم اما نمیخوام از if-else استفاده کنم میخوام حتما از  switch استفاده کنم

نمیشه تو تعریف متغیر کاری کرد؟
توسط (100 امتیاز) 2
سلام. منم خیلی جستجو کردم ولی متاسفانه به اطلاع به درد بخوری دست پیدا نکردم. ولی کم و بیش پیگیر هستم.

شما هم تلاش بکن.

من ایمیلم رو میگذارم، شما هم ایمیلت رو برام بفرست. هرکی سریعتر به جواب رسید برای اون یکی بفرسته

ایمیل من:

behfar.baghovvat@gmail.com
توسط (103 امتیاز) 2

 

سلام ببینید منظورتون همچین چیزی هست

 int num;
             Console.WriteLine("Input Number");
            num = Convert.ToInt32(Console.ReadLine());
            switch (num)
            {


                case 10:
                case 11:
                case 12:
                case 13:
                case 14:
                case 15:
                    Console.WriteLine("not bad");
                    break;
                case 16:
                case 17:
                case 18:
                case 19:
                case 20:
                
                    Console.WriteLine("it's good number");
                    break;
                case 9:
                case 8:
                case 7:
                case 6:
                case 5:
                case 4:
                    Console.WriteLine(" you failed");
                    break;
            }

 

توسط (7,164 امتیاز) 4 7 141
خیلی عالی. ممنون از کمک شما.
توسط (103 امتیاز) 2

ببخشید من این کد شما رو که نتیجش رو در داخل دستور Writline قرار دادید در داخل ListBox قرار دادم. ولی از دستور Case من خطا میگیره دقت کنید به کد بنده:

 

 

private void buttonCheckStatus_Click(object sender, EventArgs e)
        {
            buttonCheckStatus.Text = "بررسی مجدد";
            avrage = int.Parse(textBoxAverage.Text);

            switch (avrage)
            {
                case 20:
                case 19:
                case 18:
                case 17:
                    listBoxFieldofStudy.Items.Add(""); 
                default:
                    break;
            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      


        }

میتونید به بنده بگید ایراد این کد در چیه؟ من درک نمیکنم اصلا...

توسط (103 امتیاز) 2
میتونید به بنده بگید ایراد این کد در چیه؟ من درک نمیکنم اصلا...

برنامه نویسی مثل ریاضی شاید باور نکنید من یکی از تمریناتم صفحه لاگین بود اون اولا شاید نزدیک 200 بار فقط یک کد رو نوشتم

اولا باید درک کنی اگه درک کنی با یکی دو بار تمرین یادت میمونه

باید پایه رو یاد بگیرید مثلا اصل سوییچ رو یاد بگیرید دیگه لازم نیست برای بقیه سوییچ ها کمک بگیرید

چیزی رو که دوست نداری تمرین نکن تو ذهن خودت هر پروژه ای رو دوست داری ولو بلد نباشی تمرین کن

 

توسط (7,164 امتیاز) 4 7 141
ممنونم از راهنمایی شما دوست گرامی ولی مشکل من الگورتیم برنامه نبود. من مشکلم خطایی بود که نمیفهمیدم از چی هست که خود شما محبت کردید
ویرایش شده توسط
توسط (103 امتیاز) 2

2 پاسخ

0 امتیاز
سلام، واسه سوییچ نمیشه شرط گذاشت، شما باید از دستور if else استفاده کنید
ممنون
توسط (103 امتیاز) 2
0 امتیاز

سلام باید default   برمیداشتید البته سوییچ مقادیر داده شده را یعنی مقداری از قبل بهش دادید اونو بررسی کنه الان داره مقادیر تکت باکس رو چک می کنه

 if (textBoxAverage.Text.Trim()=="")
            {
                return;
            }
            buttonCheckStatus.Text = "بررسی مجدد";
           int avrage = int.Parse(textBoxAverage.Text);

            switch (avrage)
            {
                case 20:
                case 19:
                case 18:
                case 17:
                    listBoxFieldofStudy.Items.Add(avrage);
               
                    break;
            }

 

 

یک دنیا سپاس. فقط بعنوان سوال اخر میپرسم. آقا در سوئیچ مقادیر اعشاری هم جز اصولی شرطی محسوب میشه یا فقط اعداد صحیح فقط به حساب میان؟
توسط (103 امتیاز) 2
بلی از double استفاده کنید
توسط (7,164 امتیاز) 4 7 141
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,924 کاربر

دسته بندی ها

...