尝试写了一个计算器,VB大作业。从来没有接触过vb语言,只能硬着头皮上了。所幸窗体设计与C#相似。
设计了一个非常简易的计算器(其中利用栈实现了运算符优先级)
【界面如下】
组成包括Label控件2个,其中一个用来显示数学表达式,一个显示当前操作数字;
按钮17个,分别为10个数字0~9,小数点,四则运算按钮,等号按钮,清零按钮;
【设计思路】
一开始实现的是只能操作一个运算符:比如输入5+9+6,再按等号输出的是15;
后来想要实现连续运算的功能,就利用栈数据结构,把算术符号的优先级考虑进去。
【原理】
【实现逻辑】
1. 构建两个栈,符号栈和数据栈,利用数组实现,满足先进后出;
2. 界面按钮控件点击事件:
1) 数字:0 <限制不能在首位输入多个0>
2) 数字:1-9 <在label上显示>
3) 小数点 <不能连续输入多个小数点,输入小数点后将该空间可编辑状态设置false,点击其他按钮后恢复true>
4) 运算符号: