ولی 3 تایی سخت میشه و باید اولویت توی معادله درست باشه .
یعنی اگر سوال : 6*10+2 جواب بشه 62
یا مثلا توی 5/10*6 = 3
Sub QuestionHard1(minValue As Int,maxValue As Int) As QuestionModel
Dim operations() As String = Array As String("+", "-", "x", "÷")
Dim operation1 As String = operations(Rnd(0, operations.Length))
Dim a, b,c,answer As Int
Select operation1
Case "+"
a = Rnd(minValue, maxValue)
b = Rnd(minValue, maxValue)
answer = a + b
Case "-"
a = Rnd(minValue, maxValue)
b = Rnd(minValue, a + 1)
answer = a - b
Case "x"
a = Rnd(minValue, maxValue)
b = Rnd(minValue, maxValue)
answer = a * b
Case "÷"
b = Rnd(minValue, maxValue)
answer = Rnd(minValue, maxValue)
a = answer * b
End Select
L_Quzie.Text = a & " " & operation1 & " " & b
AnsverNum=answer
Dim operation2 As String = operations(Rnd(0, operations.Length))
Select operation2
Case "+"
a = AnsverNum
c = Rnd(minValue, maxValue)
answer = a + c
Case "-"
a = AnsverNum
c = Rnd(minValue, a + 1)
answer = a - c
Case "x"
Select operation1
Case "+"
c =Rnd(minValue, maxValue)
answer = b * c
answer = a + answer
Case "-"
c =Rnd(minValue, maxValue)
answer = b * c
answer = a - answer
Case "÷"
c =Rnd(minValue, maxValue)
answer = Rnd(minValue, maxValue)
b= answer * c
answer = a * b
Case "x"
a = AnsverNum
c = Rnd(minValue, maxValue)
answer = a * c
End Select
Case "÷"
c = Rnd(minValue, maxValue)
answer = AnsverNum
answer = answer / c
End Select
AnsverNum=answer
L_Quzie.Text = L_Quzie.Text & " " & operation2 & " " & c & " = ?"
GenerateOptions(answer)
End Sub
من این دستور رو نوشتم ولی بعضی مواقع اعداد تولید شده اول از دومی کوچیکتر میشه و عدد منفی در میاد .
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید.
اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: strong> مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.
سوال
FarzamPlus 1
با سلام و خسته نباشید ...
میخوام سوال ریاضی تولید کنم ، مثلا : 15+10*6
اعداد دوتایی رو بلدم .
ولی 3 تایی سخت میشه و باید اولویت توی معادله درست باشه .
یعنی اگر سوال : 6*10+2 جواب بشه 62
یا مثلا توی 5/10*6 = 3
Sub QuestionHard1(minValue As Int,maxValue As Int) As QuestionModel Dim operations() As String = Array As String("+", "-", "x", "÷") Dim operation1 As String = operations(Rnd(0, operations.Length)) Dim a, b,c,answer As Int Select operation1 Case "+" a = Rnd(minValue, maxValue) b = Rnd(minValue, maxValue) answer = a + b Case "-" a = Rnd(minValue, maxValue) b = Rnd(minValue, a + 1) answer = a - b Case "x" a = Rnd(minValue, maxValue) b = Rnd(minValue, maxValue) answer = a * b Case "÷" b = Rnd(minValue, maxValue) answer = Rnd(minValue, maxValue) a = answer * b End Select L_Quzie.Text = a & " " & operation1 & " " & b AnsverNum=answer Dim operation2 As String = operations(Rnd(0, operations.Length)) Select operation2 Case "+" a = AnsverNum c = Rnd(minValue, maxValue) answer = a + c Case "-" a = AnsverNum c = Rnd(minValue, a + 1) answer = a - c Case "x" Select operation1 Case "+" c =Rnd(minValue, maxValue) answer = b * c answer = a + answer Case "-" c =Rnd(minValue, maxValue) answer = b * c answer = a - answer Case "÷" c =Rnd(minValue, maxValue) answer = Rnd(minValue, maxValue) b= answer * c answer = a * b Case "x" a = AnsverNum c = Rnd(minValue, maxValue) answer = a * c End Select Case "÷" c = Rnd(minValue, maxValue) answer = AnsverNum answer = answer / c End Select AnsverNum=answer L_Quzie.Text = L_Quzie.Text & " " & operation2 & " " & c & " = ?" GenerateOptions(answer) End Sub
من این دستور رو نوشتم ولی بعضی مواقع اعداد تولید شده اول از دومی کوچیکتر میشه و عدد منفی در میاد .
مثلا : 7*10-7 = -63 نمیخوام اینجوری بشه .
کسی هست کمک کنه ؟؟؟
لینک ارسال
به اشتراک گذاری در سایت های دیگر
2 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: strong> مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.