本計算器利用堆疊來實現。
1、定義字尾式計算器的堆疊結構
因為需要儲存的單元不多,這裡使用順序棧,即用一維陣列來模擬堆疊:
#define max 100
int stack[max];
int top=0;
因此程式中定義了長度為max的一維陣列,這裡max用巨集定義為常數100,我們可以修改巨集定義而重新定義堆疊的大小。
整型資料top為棧頂指示,由於程式開始時堆疊中並無任何資料元素,因此top被初始化為0。
2、儲存字尾式計算器的運算數
我們定義了堆疊stack[max]後,就可以利用入棧操作儲存先後輸入的兩個運算數。
下面看一下是如何實現的:
int push(int i) /*儲存運算數,入棧操作*/
else
}int pop() /*取出運算數,出棧操作*/
else
printf("the stack is empty!\n");
return err;
}void main()
printf("\tcontinue?(y/n):"); /*提示使用者是否結束程式*/
l=getche();
if(l=='n')
exit(0);
}while(1);
}
四則運算計算器
今天做個帶視窗的c 四則運算計算器 輸入中綴表示式 自然表示式 可以用list來放 先把它變成字尾表示式 逆波蘭表示式 用乙個棧放運算子,另乙個棧放字尾表示式 運算子優先順序 1 2 3 4 從左到右遍歷中綴表示式 計算字尾表示式 從左到右掃瞄字尾表示式,如果是數字,放入數字棧。如果是符號,從數字棧...
簡單的四則運算計算器
include stdio.h include stdlib.h include string.h define string length 1000 define number length 40 結構體定義 struct symbol symbol head null,temp null str...
四則運算計算器(物件導向程式設計思維)
寫計算器感知 1,定義介面 public inte ce icalculate 2,定義類 public class mul icalculate 乘法類實現介面 public class add icalculate 加法類實現介面 等等 3,當我們要計算時我們可以統一建立icalculate類物...