VC计算器实现实验报告.doc

VC计算器实现实验报告.doc

ID:59829014

大小:262.50 KB

页数:35页

时间:2020-11-24

VC计算器实现实验报告.doc_第1页
VC计算器实现实验报告.doc_第2页
VC计算器实现实验报告.doc_第3页
VC计算器实现实验报告.doc_第4页
VC计算器实现实验报告.doc_第5页
资源描述:

《VC计算器实现实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、VC课程设计实验报告课题名称:计算器实现姓名:陈锋学号:10010提交报告时间:2010年11月22日课程设计目标实验设计一个计算器,要求可通过按钮输入数字、运算符,能通过按钮实现退格、清除功能,实现整数的加、减、乘、除、取余、开方、平方等运算功能,必要的错误处理,如除零;可以通过键盘输入数字、退格、运算符(+、-、*、/、%、=),实现括号运算;实现不同进制(二进制、十进制、八进制、十六进制)下的加、减、乘、除、取余、开方、平方等运算功能。1.分析与设计(1)实现方法:编程语言为C++语言。编程方法:通过一个

2、文本框接收所输入的运算表达式,然后将其转换成后缀表达式并将各个数字先转换成十进制数值进行计算,最后再转换成相应进制的字符串。(2)代码设计说明:文件和类的设计说明:创建一个头文件:Calculate.h内容如下:#include"stdio.h"constintMaxSize=30;constintMaxPri=8;BOOLdecimal_2;//为真代表选择相应的进制BOOLdecimal_8;BOOLdecimal_10;BOOLdecimal_16;struct{charch;intpri;}lpri[]

3、={{'=',0},{'(',1},{'*',5},{'/',5},{'%',5},{'+',3},{'-',3},{')',8},{'^',7}},rpri[]={{'=',0},{'(',8},{'*',4},{'/',4},{'%',4},{'+',2},{'-',2},{')',1},{'^',6}};intleftpri(charop)//求左运算符的优先级{for(inti=0;i

4、(charop)//求右运算符op的优先级{for(inti=0;i

5、

6、ch==')'

7、

8、ch=='+'

9、

10、ch=='-'

11、

12、ch=='*'

13、

14、ch=='/'

15、

16、ch=='%'

17、

18、ch=='^'

19、

20、ch=='('

21、

22、ch==')')return1;elsereturn0;}intPrecede(charop1,charop2){if(lef

23、tpri(op1)==rightpri(op2))return0;elseif(leftpri(op1)='

24、0'&&*exp<='9'

25、

26、*exp=='.'

27、

28、*exp>='a'&&*exp<='f'){postexp[i++]=*exp;exp++;}postexp[i++]='#';}else{switch(Precede(op.data[op.top],*exp)){case-1:op.top++;op.data[op.top]=*exp;exp++;break;case0:op.top--;exp++;break;case1:postexp[i++]=op.data[op.top];op.top--;brea

29、k;}}}while(op.data[op.top]!='='){postexp[i++]=op.data[op.top];op.top--;}postexp[i]='';}floatcompvalue(char*postexp)//计算后缀表达式的值{struct{floatdata[MaxSize];inttop;}st;floatd,a,b,c;st.top=-1;while(*postexp!=''){switch(*postexp){case'+':a=st.data[st.top];st.t

30、op--;b=st.data[st.top];st.top--;c=a+b;st.top++;st.data[st.top]=c;break;case'-':a=st.data[st.top];st.top--;b=st.data[st.top];st.top--;c=b-a;st.top++;st.data[st.top]=c;break;case'*':a=st.data[st.t

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。