回覆列表
  • 1 # 夢夢月神

    算術表示式求值演示

    一。需求分析

    1。 要求應用棧來實現表示式的分析計算( 用運算子優先法 )。

    2。 以字元序列的形式從終端輸入語法正確的表示式( 本程式可以輸入浮點數作運算數

    )。

    3。 演示程式以計算器的模擬介面實現與使用者間的對話。

    當用戶從終端輸入某一字元時

    4。 程式的實現效果在附交的軟盤中。 請執行程式觀看。

    二。 除錯分析

    1。 由於考慮不周, 本程式快要完成時才發現由於函式呼叫太深, 無法處理好區域性變數

    , 只好用了兩個全域性變數start_x和start_y( 有違初衷 ), 它們指定CALCULATOR的繪製

    位置。

    2。 由於庫函式getchar()和getch()的微妙的差別, 使得繪圖部份功能一度陷入混亂。

    最後才得以調整。

    3。 本程式的模組性有待加強。

    三。 使用者手冊

    1。 本程式在TURBO C 2。0下執行良好。 源程式檔案為Evaluate。

    c。

    2。 進入演示程式後, 顯示影象程式設計模擬的計算器模擬介面, 按鍵盤上的鍵位以達相應

    的視覺效果。

    3。 注意: 請不要輸入錯誤的表示式, 確定表示式只輸入一次並且正確( 還要求輸入過

    程中不可以用退格符 ), 否則會產生莫明其妙的錯誤結果。

    4。 本程式擴充了運算子集, 支援乘方運算子" p ", 例如輸入: 5p2+5p2# 則結果為

    50。000000

    支援平方運算子" ^ ", 例如輸入: 5^+5^# 則結果為50。000000

    支援單目減運算子" ~ ", 例如輸入: ~4+4# 則結果為0。

    000000

    支援實數型別作運算量型別, 例如輸入: 3。14+3。14# 則結果為6。280000

    實現了計算器的模擬介面, 如執行效果所視。

    5。 附: 賦值運算子和支援變數參與運算的功能尚未加入。

    四。 測試結果

    具體請觀看軟盤中的源程式執行的效果。

    五。 附錄

    源程式主要檔案清單:

  • 中秋節和大豐收的關聯?
  • 做個精緻的利己者有錯嗎?