【問題】[vb]製作工程型計算機


Recommended Posts

  • 1 month later...
訪客 凌小白

算的時候轉數字VAL()

你的意思是這樣嗎?

還是直接輸入算式就可以算出來?

我想應該是後者吧~XD

先把整個存起來再判斷*/之後再判斷+-

如果有()可能有困難~

這只是想法而已我自己完全沒試過喔!!

鏈接文章
分享到其他網站
  • 2 weeks later...
最初由 jimmykuo 發表

老早就翻過了

不過沒有...

後來我想到一個蠢方法就是放一大堆隱藏的文字格

把數字都先存進去在算= ="

不過要是數字太多就沒辦法摟

這好像是不錯的方法,我來試試~~~

鏈接文章
分享到其他網站
  • 1 month later...
最初由 jimmykuo 發表

遇到一個很大的問題

我做的根小算盤差不多

可是輸入完66*25+34是字串要怎麼把這一整行便成算式爾且能符合四則運算?

:$ 應該去買一本資料結構的書

一般計算機中,常用的四則運算法有下列三種表示法:

中序法(infix):

<運算元><運算子><運算元>,如A+B。

前序法(prefix):

<運算子><運算元><運算元>,如+AB。

後序法(postfix):

<運算元><運算元><運算子>,如AB+。

鏈接文章
分享到其他網站
  • 3 weeks later...
最初由 viosea 發表

大陆叫做《编译原理》你这个东西最多用到第三章的知识,强烈推荐清华大学出的。不过是北京那个清华大学。。。。。

看起來好像有點在嘲笑我 = =

怎麼都沒有人解答~~~

我只要答案

不要都說一堆有的沒的

鏈接文章
分享到其他網站
  • 2 years later...
  • 4 weeks later...

將輸入的字串打散存入陣列裡,如輸入(3^2)+2*4

sEq(0)="("

sEq(1)="3"

sEq(2)="^"

sEq(3)="2"

sEq(4)=")"

sEq(5)="+"

sEq(6)="2"

sEq(7)="*"

sEq(8)="4"

然後因為次方的運算順序>乘除>加減

所以先找是否有次方,找到後往前檢查,是否有別的運算子或記號,

在這個案例中,找到sEq(2)為次方,往前找到sEq(0)為記號(括弧),

所以從sEq(0)之後到sEq(2)之間的所有字串可以串連成一個數字,

然後用Pow(數字,次方)例如Pow(3,2)則可算出次方。

運算完的部分要把他清空(變成""),如sEq(0)到sEq(2)都要歸零成空字串""。

我沒實際測試過,可是我想的理論大概是這樣....xd

鏈接文章
分享到其他網站

請登入後來留意見

在登入之後,您才能留意見



立即登入