欢迎来到天天文库
浏览记录
ID:51713595
大小:52.45 KB
页数:12页
时间:2020-03-15
《编写一个简易计算器的源代码.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、AStack.h#ifndefASTACK_HEADER#defineASTACK_HEADER#includeusingnamespacestd;templateclassAStack{private:intsize;inttop;Elem*listArray;public:AStack(){size=100;top=0;listArray=newElem[100];}~AStack(){delete[]listArray;}voidclear(){top=0;}boolpush(Elem&item){
2、if(top==size)returnfalse;else{listArray[top++]=item;returntrue;}}boolpop(Elem&it){if(top==0)returnfalse;else{it=listArray[--top];returntrue;}}booltopValue(Elem&it)const{if(top==0)returnfalse;else{it=listArray[top-1];returntrue;}}intlength()const{returntop;}};#endifFunction.cp
3、p#include"function.h"#include"AStack.h"#include#includevoidcalUserInfo(){cout<<"t*智能计算器V1.0*"<4、t*********************"<5、e'+':case'-':return2;break;case'*':case'/':case'%':return4;break;case'(':return8;break;case')':return1;break;case'^':case'&':return6;break;}}doubleextract(doublex,doubley){returnpow(x,1/y);}boolcal(charop,doublex,doubley,double&r){into=0;switch(op){case'-':r=x-y;break;case'+'6、:r=x+y;break;case'/':r=x/y;break;case'%':(int)o=(int)x%(int)y;r=(double)o;break;case'*':r=x*y;break;case'&':r=extract(x,y);break;case'^':r=pow(x,y);break;}returntrue;}boolisDigit(charch){if(((int)ch>=48)&&((int)ch<=57))returntrue;elsereturnfalse;}boolisPoint(charch){if(ch=='.7、')returntrue;elsereturnfalse;}boolisOperator(charch){if((ch=='=')8、9、(ch=='-')10、11、(ch=='+')12、13、(ch=='(')14、15、(ch==')')16、17、(ch=='*')18、19、(ch=='&')20、21、(ch=='/')22、23、(ch=='%')24、25、(ch=='^'))returntrue;elsereturnfalse;}doubleturnDigit(charch){doublevalue;value=(double)ch-48;returnvalue;}doublenewDigit26、(doubleprior_digit,doublenow_digit,boolisHavePoint,doublepoint_num){
4、t*********************"<5、e'+':case'-':return2;break;case'*':case'/':case'%':return4;break;case'(':return8;break;case')':return1;break;case'^':case'&':return6;break;}}doubleextract(doublex,doubley){returnpow(x,1/y);}boolcal(charop,doublex,doubley,double&r){into=0;switch(op){case'-':r=x-y;break;case'+'6、:r=x+y;break;case'/':r=x/y;break;case'%':(int)o=(int)x%(int)y;r=(double)o;break;case'*':r=x*y;break;case'&':r=extract(x,y);break;case'^':r=pow(x,y);break;}returntrue;}boolisDigit(charch){if(((int)ch>=48)&&((int)ch<=57))returntrue;elsereturnfalse;}boolisPoint(charch){if(ch=='.7、')returntrue;elsereturnfalse;}boolisOperator(charch){if((ch=='=')8、9、(ch=='-')10、11、(ch=='+')12、13、(ch=='(')14、15、(ch==')')16、17、(ch=='*')18、19、(ch=='&')20、21、(ch=='/')22、23、(ch=='%')24、25、(ch=='^'))returntrue;elsereturnfalse;}doubleturnDigit(charch){doublevalue;value=(double)ch-48;returnvalue;}doublenewDigit26、(doubleprior_digit,doublenow_digit,boolisHavePoint,doublepoint_num){
5、e'+':case'-':return2;break;case'*':case'/':case'%':return4;break;case'(':return8;break;case')':return1;break;case'^':case'&':return6;break;}}doubleextract(doublex,doubley){returnpow(x,1/y);}boolcal(charop,doublex,doubley,double&r){into=0;switch(op){case'-':r=x-y;break;case'+'
6、:r=x+y;break;case'/':r=x/y;break;case'%':(int)o=(int)x%(int)y;r=(double)o;break;case'*':r=x*y;break;case'&':r=extract(x,y);break;case'^':r=pow(x,y);break;}returntrue;}boolisDigit(charch){if(((int)ch>=48)&&((int)ch<=57))returntrue;elsereturnfalse;}boolisPoint(charch){if(ch=='.
7、')returntrue;elsereturnfalse;}boolisOperator(charch){if((ch=='=')
8、
9、(ch=='-')
10、
11、(ch=='+')
12、
13、(ch=='(')
14、
15、(ch==')')
16、
17、(ch=='*')
18、
19、(ch=='&')
20、
21、(ch=='/')
22、
23、(ch=='%')
24、
25、(ch=='^'))returntrue;elsereturnfalse;}doubleturnDigit(charch){doublevalue;value=(double)ch-48;returnvalue;}doublenewDigit
26、(doubleprior_digit,doublenow_digit,boolisHavePoint,doublepoint_num){
此文档下载收益归作者所有