الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مساعدة في تصحيح خطأ

بدأه Relawda في 1 أغسطس 2010 · 3 رد · 464 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الخطأ

A switch expression or case label must be a bool, char, string, integral, enum, or corresponding nullable type

الحرف د الذي تحته خط هو الخطأ.

الكود

 System.Console.WriteLine("Enter //a// value: ");
            double a=System.Convert.ToDouble(System.Console.ReadLine());
            System.Console.WriteLine("Enter //b// value: ");
            double b = System.Convert.ToDouble(System.Console.ReadLine());
            System.Console.WriteLine("Enter //c// value: ");
            double c = System.Convert.ToDouble(System.Console.ReadLine());
            double D = System.Math.Pow(b, 2) - 4 * a * c;
            switch (D) 
                {
                    case D < 0:
                        System.Console.WriteLine("Sorry, not exist solution.");
                        break;
                    case D = 0:
                        System.Console.WriteLine(-b/(2*a));
                        break;
                    case D > 0:
                        System.Console.WriteLine((-b+System.Math.Sqrt(D))/(2*a)+"  "+(-b-System.Math.Sqrt(D))/(2*a));
                        break;
                }
            System.Console.ReadLine();

شكرا.

لو وجدت إفادة في مشاركتي, أرجو تقييمها حتى يستفيد منها أكبر عدد ممكن.

شكرا.

مدونتي

#2

عدة نقاط (للأسف :) ) :

1-يجب أن يكون التعبير المستخدم في عبارة switch من الأنماط التالية char ,bool ,string أو قابلة للتحول إلى integral ..

2- لا يمكنك وضع شرط  أو Expression في عبارة case ، يجب أن تكون Constant Value ...

Switch

للأسف يجب أن تلجأ لإستخدام nested if statements...

بالتوفيق

#3

شكرا لك م. حسام فيصل

لازلت مبتدأ و أتعلم من أخطائي

لو وجدت إفادة في مشاركتي, أرجو تقييمها حتى يستفيد منها أكبر عدد ممكن.

شكرا.

مدونتي

#4

أهلاً وسهلاً بك في أي وقت ...

بالتوفيق

مواضيع مشابهة