VB急,谁能帮帮我

来源:百度知道 编辑:UC知道 时间:2024/05/05 20:36:50
谁能帮帮我制作和定做一个小学水平的数学计算题自动解答软件系统。价格可谈。用VB做最好,其他也无所谓。
如果给我做的话,只要帮我实现在一文本输入框输入象:“一加一等于多少”点击某控键后而可以在另一窗口显示结果为“二”;输入一个低级的数学题目如:“二乘十等于多少”,在另一窗可显示结果就行了;这样的简单计算最好也能实现象“一与二的和是多少”结果:“三”。
或者,实现“五加一点五等于多少”结果显示“5+1.5=6.5”都可以。
若能加强,就实现象“他有20元钱,现在刚又得到40.5元钱,请问它现在有多少钱”结果显示“60.5”
如果能实现多运算的话那更加好。其中最好全部使用中文,包括中文数字.若不能使用中文数字,则希望能实现上面那个加强的功能。
由于时间紧或忙,不能做的话,是否能告诉我一些VB实现上面功能的代码。即怎样把字符串“五加一点五等于多少”中的“五”和“一点五”在VB中怎么转换成5和1.5用于计算呢?
由于“表示同一个意思的话有N种表达方式,怎么可能都写出来.. ”,我开始想得太简单了,所以。。。。
因此改下,所有要输入的字符串都是以下格式:“一加九点五等于多少”“负二十乘负三等于多少”最好实现多运算即“二十三减六加五”,
再简单点也可以这样的格式:{“1.9加5等于多少”“-20乘(-3)等于多少”}这些我已自己实现,只是下面这个“23减6加5等于多少”没有;
若能实现“23减6除5等于多少”那最好了。

Private Sub Form_Load()
dim n as double
s = "23减6加5等于多少"
Dim re As Object
Set re = CreateObject("VBScript.RegExp")
re.IgnoreCase = True
re.Global = True
re.Pattern = "([加减乘除])?(\-?\d+(?:\.\d+)?)"
n = 0
For Each i In re.Execute(s)
Select Case i.SubMatches(0)
Case ""
n = i.SubMatches(1)
Case "加"
n = n + i.SubMatches(1)
Case "减"
n = n - i.SubMatches(1)
Case "乘"
n = n * i.SubMatches(1)
Case "除"
n = n / i.SubMatches(1)
End Select
Next i
MsgBox n
End Sub

固定格式的好办,像汉字一~十,转换成1~10可以这样
T="○,一,二,三,四,五,六,七,八,九"
S="一点五"
For i=0 to 9
s=Replace(S,Split(T,",")(i),i)
Next
S=Replace(Replace(S,"点","."),"加","+")
S=Replace(Replace(S,"减","-"),"乘","*&