تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] [تم الحل] مساعدة بمسألة رياضيه
#1
Exclamation 
مرحبا   Heart
انا اعمل على مشروع يخص حل المسائل الرياضيه
بهذا المشروع رح افرض Y وقيمتها يحددها المستخدم
وهذي Y نضعها بمساله مثلا هذي المسأله
2 * T * 4 - 3 * T - 5
لحد الان الامور تمام رح يكون الكود  Blush

كود :
Public Class Form1

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Dim T As Integer = TextBox1.Text
       Dim X As Integer = 2 * T * 4 - 3 * T - 5
       TextBox2.Text = X
   End Sub
End Class

الامور رح تبقى تمام الا اذا ردنا نخلي المسأله (2 * T * 4 - 3 * T - 5) يكتبها المستخدم  Confused
المطلوب ان نخلي المساله  تكتب من قبل المستخدم لا من قبل المبرمج  Big Grin
واتمنى تفيدوني  Heart

.rar   WindowsApplication1.rar (الحجم : 63.18 ك ب / التحميلات : 4)
هم يسرقون والقانون كتب لنا...

الرد }}}
تم الشكر بواسطة:
#2
 
        اختيار عنوان مناسب للموضوع
الرد }}}
تم الشكر بواسطة:
#3
(03-04-19, 10:54 AM)بدري كتب :  
        اختيار عنوان مناسب للموضوع

شنو الغلط بالعنوان
هم يسرقون والقانون كتب لنا...

الرد }}}
تم الشكر بواسطة: بدري
#4
الغلط الاول كان العنوان: مساعده
وهذا مخالف مخالفه صريحه

الغلط الثاني بعد تعديل العنوان: مساعدة بمسألة رياضيه
قل لا يكون مخالف ولكن ليس عنوان واضح لمضمون الموضوع

العنوان الصحيح: حل مساله رياضيه من خلال مربع نص



وهذا الحواب:
عليك بالخطوات التاليه:
الخطوه الاولى تقرا مربع النص وتحول احرفه الى احرف كبيره ToUpper مثل
Dim txt = TextBox1.Text.ToUpper

الخطوه الثانيه تستخرج الاحرف من المعادله باستخدم regex مثل
Dim reg = Regex.Matches(txt, "[A-Z]")

الخطوه الثالثه تقرا نتائج ال reg باستخدم linq مع distinct لاستبعاد المكرر وتجعلها في مصفوفه مثل
Dim arr = (From x In reg Select x.Value Distinct).ToArray

الخطوه الرابعه تعمل حلقه for على المصفوفه السابقه لتطلب من المستخدم ان يدخل قيمه لكل مجهول مثل
For Each i In arr
  Dim vr = Val(InputBox("Variable:   " & i, "Input", "0"))
  txt = txt.Replace(i, vr)
Next

الخطوه الاخيره نستخدم ScriptControl لحساب المعادله مثل
Dim scr As Object = CreateObject("ScriptControl")
scr.Language = "VBSCRIPT"
Dim ret = scr.Eval(txt)

الان لديك النتيجه في المتغير ret يمكنك اظهار محتواه في رساله مثل
MsgBox(ret)

ولتلافي خطا مدخلات المعادله نضع جميع الخطوات السابقه في try مع اظهار وصف الخطا في رساله مثل
Try
جميع الخطوات السابقه
Catch ex As Exception
    MsgBox(ex.Message)
End Try
الرد }}}
تم الشكر بواسطة: dell , DK-x , DK-x , elgokr , elgokr
#5
(03-04-19, 02:46 PM)بدري كتب : الغلط الاول كان العنوان: مساعده
وهذا ...

اشكرك ع المساعدة لكن اذا امكن ان تضع مثال اوكود جاهز وشكرا Heart
هم يسرقون والقانون كتب لنا...

الرد }}}
تم الشكر بواسطة: بدري , elgokr
#6
قم بتجميع كل اسطر الاكواد التي في المشاركه ويكون لديك كود كامل
فقط ضعه داخل حدث click لاداه بوتون ولا تنس تضيف textbox1
الرد }}}
تم الشكر بواسطة: sendbad100 , DK-x , elgokr
#7
(03-04-19, 08:43 PM)بدري كتب : اتمنى لو ان الموضوع انتهى ان تذكر ذلك وتطلب من المشرف اغلاق الموضوع مع وضع "تم الحل" في العنوان

العفو اخي لاكن ضهر خطأ بالكود وهو هنا
For Each i In arr
ما عرفت اعالجه Heart
هم يسرقون والقانون كتب لنا...

الرد }}}
تم الشكر بواسطة: elgokr
#8
يجب تجميع اكواد جميع الخطوات بالترتيب ليكون لديك كود كامل مثال جاهز
الرد }}}
تم الشكر بواسطة: DK-x , DK-x , elgokr
#9
Heart مبدع Heart
هم يسرقون والقانون كتب لنا...

الرد }}}
تم الشكر بواسطة: elgokr



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم