السلام عليكم ورحمة الله وبركاته
اخواني الكرام قمت بكتابة كود 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
(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
(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
صحيح اخي العزيز ما انتبهت واشكرك على التوضيح
هناك خطأ منطقي في الكود وهو إذا حصل على 100 سيعتبر راسب
يعني لازم تحدف And grd <= 99 الأخيرة فيكون
كود :
ElseIf grd >= 90 Then
(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 درجة تكون نتيجته ( ممتاز )
اذا كان هناك جزء من الدرجة من بعد التسعة سيعتبر راسب مثل 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 = "ممتاز"
(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 = "ممتاز"
مشكور اخي الغالي على التوضيح ^_^