منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] خطأ في كتابة كود IF - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] خطأ في كتابة كود IF (/showthread.php?tid=22247)



خطأ في كتابة كود IF - عمرو المطري - 25-10-17

السلام عليكم ورحمة الله وبركاته

اخواني الكرام قمت بكتابة كود IF  لكن يظهر لي خطأ عند التشغيل ولا ادري ماسبب هذا الخطأ

هذا هو الكود

كود :
Dim grd As Double = CDbl(txtGrade.Text)

       If grd >= 50 And grd <= 59 Then
           txtLetters.Text = "مقبول"

       ElseIf grd >= 60 And grd <= 69 = Then
           txtLetters.Text = "متوسط"

       ElseIf grd >= 70 And grd <= 79 = Then
           txtLetters.Text = "جيد"

       ElseIf grd >= 80 And grd <= 89 = Then
           txtLetters.Text = "جيد جداً"

       ElseIf grd >= 90 And grd <= 99 = Then
           txtLetters.Text = "ممتاز"
       Else
 txtLetters.Text = "راسب"

       End If

كما ترون قمت اولاً بتعريف متغير باسم grd

والخطأ الذي يظهر لي هو  Expression expected ويشير الى الأسطر التي مكتوب فيها Elseif



RE: خطأ في كتابة كود IF - Rabeea Qbaha - 25-10-17

(25-10-17, 06:39 PM)عمرو المطري كتب :
السلام عليكم ورحمة الله وبركاته

اخواني الكرام قمت بكتابة كود IF  لكن يظهر لي خطأ عند التشغيل ولا ادري ماسبب هذا الخطأ

هذا هو الكود

كود :
Dim grd As Double = CDbl(txtGrade.Text)

       If grd >= 50 And grd <= 59 Then
           txtLetters.Text = "مقبول"

       ElseIf grd >= 60 And grd <= 69 = Then
           txtLetters.Text = "متوسط"

       ElseIf grd >= 70 And grd <= 79 = Then
           txtLetters.Text = "جيد"

       ElseIf grd >= 80 And grd <= 89 = Then
           txtLetters.Text = "جيد جداً"

       ElseIf grd >= 90 And grd <= 99 = Then
           txtLetters.Text = "ممتاز"
       Else
 txtLetters.Text = "راسب"

       End If

كما ترون قمت اولاً بتعريف متغير باسم grd

والخطأ الذي يظهر لي هو  Expression expected ويشير الى الأسطر التي مكتوب فيها Elseif


صديقي انت تضع اشاره = اضافيه هذا خطائك

كود :
Dim grd As Double = CDbl(txtGrade.Text)

      If grd >= 50 And grd <= 59 Then
          txtLetters.Text = "مقبول"

      ElseIf grd >= 60 And grd <= 69 Then
          txtLetters.Text = "متوسط"

      ElseIf grd >= 70 And grd <= 79 Then
          txtLetters.Text = "جيد"

      ElseIf grd >= 80 And grd <= 89 Then
          txtLetters.Text = "جيد جداً"

      ElseIf grd >= 90 And grd <= 99 Then
          txtLetters.Text = "ممتاز"
      Else
txtLetters.Text = "راسب"

      End If



RE: خطأ في كتابة كود IF - عمرو المطري - 25-10-17

(25-10-17, 06:46 PM)Rabeea Qbaha كتب :
(25-10-17, 06:39 PM)عمرو المطري كتب :
السلام عليكم ورحمة الله وبركاته

اخواني الكرام قمت بكتابة كود IF  لكن يظهر لي خطأ عند التشغيل ولا ادري ماسبب هذا الخطأ

هذا هو الكود

كود :
Dim grd As Double = CDbl(txtGrade.Text)

       If grd >= 50 And grd <= 59 Then
           txtLetters.Text = "مقبول"

       ElseIf grd >= 60 And grd <= 69 = Then
           txtLetters.Text = "متوسط"

       ElseIf grd >= 70 And grd <= 79 = Then
           txtLetters.Text = "جيد"

       ElseIf grd >= 80 And grd <= 89 = Then
           txtLetters.Text = "جيد جداً"

       ElseIf grd >= 90 And grd <= 99 = Then
           txtLetters.Text = "ممتاز"
       Else
 txtLetters.Text = "راسب"

       End If

كما ترون قمت اولاً بتعريف متغير باسم grd

والخطأ الذي يظهر لي هو  Expression expected ويشير الى الأسطر التي مكتوب فيها Elseif


صديقي انت تضع اشاره = اضافيه هذا خطائك

كود :
Dim grd As Double = CDbl(txtGrade.Text)

      If grd >= 50 And grd <= 59 Then
          txtLetters.Text = "مقبول"

      ElseIf grd >= 60 And grd <= 69 Then
          txtLetters.Text = "متوسط"

      ElseIf grd >= 70 And grd <= 79 Then
          txtLetters.Text = "جيد"

      ElseIf grd >= 80 And grd <= 89 Then
          txtLetters.Text = "جيد جداً"

      ElseIf grd >= 90 And grd <= 99 Then
          txtLetters.Text = "ممتاز"
      Else
txtLetters.Text = "راسب"

      End If
صحيح اخي العزيز ما انتبهت واشكرك على التوضيح



RE: خطأ في كتابة كود IF - zaer - 25-10-17

هناك خطأ منطقي في الكود وهو إذا حصل على 100 سيعتبر راسب

يعني لازم تحدف And grd <= 99 الأخيرة فيكون
كود :
ElseIf grd >= 90 Then



RE: خطأ في كتابة كود IF - عمرو المطري - 25-10-17

(25-10-17, 07:05 PM)zaer كتب : هناك خطأ منطقي في الكود وهو إذا حصل على 100 سيعتبر  راسب

يعني لازم تحدف  And grd <= 99  الأخيرة فيكون
كود :
ElseIf grd >= 90 Then

صحيح اخي الكريم واشكرك على التوضيح , سأقوم بتعديله الى 


كود :
ElseIf grd >= 90 And grd <= 100 Then
           txtLetters.Text = "ممتاز"


بحيث لو حصل على 100 درجة تكون نتيجته ( ممتاز )


RE: خطأ في كتابة كود IF - zaer - 26-10-17

اذا كان هناك جزء من الدرجة من بعد التسعة سيعتبر راسب مثل 59.5 أو69.5 أو79.5 أو89.5

للخروج من هذه المشكلة استخدم هذا الكود كما هو بدون زيادة (يعني لا تضع 100 => grd)
كود :
Dim grd As Double = CDbl(txtGrade.Text)
If grd < 50 Then txtLetters.Text = "راسب"
If grd >= 50 And grd < 60 Then txtLetters.Text = "مقبول"
If grd >= 60 And grd < 70 Then txtLetters.Text = "متوسط"
If grd >= 70 And grd < 80 Then txtLetters.Text = "جيد"
If grd >= 80 And grd < 90 Then txtLetters.Text = "جيد جداً"
If grd >= 90 Then txtLetters.Text = "ممتاز"



RE: خطأ في كتابة كود IF - عمرو المطري - 27-10-17

(26-10-17, 01:09 AM)zaer كتب : اذا كان هناك جزء من الدرجة من بعد التسعة سيعتبر راسب مثل 59.5 أو69.5 أو79.5 أو89.5

للخروج من هذه المشكلة استخدم هذا الكود كما هو بدون زيادة (يعني لا تضع 100 => grd)
كود :
Dim grd As Double = CDbl(txtGrade.Text)
If grd < 50 Then txtLetters.Text = "راسب"
If grd >= 50 And grd < 60 Then txtLetters.Text = "مقبول"
If grd >= 60 And grd < 70 Then txtLetters.Text = "متوسط"
If grd >= 70 And grd < 80 Then txtLetters.Text = "جيد"
If grd >= 80 And grd < 90 Then txtLetters.Text = "جيد جداً"
If grd >= 90 Then txtLetters.Text = "ممتاز"

مشكور اخي الغالي على التوضيح ^_^