《C#高级编程》源代码的进.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《《C#高级编程》源代码的进.doc》由会员分享,可在线阅读,更多相关《《C#高级编程》源代码的进.doc(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、/*程序名称:表达式计算器编译环境:Microsoft Visual C+ 6.0时间:200801*/*说明:采用树形结构处理表达式,按优先级运算结果,一个加,减,乘,除或数值为一个节点优先级如下:函数:4括号:3乘除:2加减:1*/#include #include #include #include #include using namespace std;const char NUM=0,1,2,3,4,5,6,7,8,9,.;const char OPERATION=+,-,*,/;const double PI=3.14159265358979;const double EE=2.
2、71828182818281;class Fun /处理系统数学函数的类public:Fun(string o,int t,double l=0.0,double r=0.0):op(o),type(t),lvalue(l),rvalue(r)static string FUN;double calc();private:int type; /666 0 1 sin90 2 3! 3 3C2 string op; /函数类型double lvalue; /函数左边的值double rvalue; /函数右边的值static int FunNum;int Fun:FunNum=10;string
3、 Fun:FUN=!,sin,cos,tan,log,ln,C,A,-;/*函数说明:1:log是以10为底的工程对数2:ln 是以e为底的自然对数3:C 计算组合数 输入规则 如计算 3取2的组合 输入表达式 3C24:A 计算排列数 输入规则 如计算 3取2的排列 输入表达式 3A25:! 计算阶乘6: x的y次方 输入 xy*/int factorial(int n) /阶乘函数int i,s=1;for(i=1;iGetValue();rvalue=Right-GetValue();Expression=0;char op=GetOperation();switch(op)case +
4、:return lvalue+rvalue;case -:return lvalue-rvalue;case *:return lvalue*rvalue;case /:return lvalue/rvalue;default:return 0;elsereturn value;bool Isnum(char c)for(int i=0;isizeof(NUM);i+)if(c=NUMi)return true;return false;bool Isoperation(char c)for(int i=0;isizeof(OPERATION);i+)if(c=OPERATIONi)retur
5、n true;return false;Unit * Analyse(string exp) /分析表达式并生成链表int pri=0; /当前优先级int stat=1; /当前的读入状态 括号 0 运算符 1 其他 2Unit * head=NULL,* p=NULL;int i=0,explen;explen=exp.size();for(i=0;iNext=new Unit(pri+add_pri,c, ,0,0);p=p-Next;p-Pre=temp;else /其他的当做函数处理stat=2;string function=;while(iNext=new Unit(pri, ,
6、function,0,2);p=p-Next;p-Pre=temp;return head;Unit * Calc(Unit * head) /计算双向链表基本单元的值Unit * p=head;while(p!=NULL)if(p-Type!=0) /非操作符string temp=p-Code;string op;double lvalue=0,rvalue=0;int l_point=0,r_point=0;int i=0,type=0;char ch;while(itemp.size() & (ch=temp.at(i),Isnum(ch)if(ch=.)l_point+;i+;con
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C#高级编程 C# 高级 编程 源代码
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内