资源简介
常量表达式求解、变量表达式求解,加、减、乘、除、乘方、单目减等运算,包含实验报告
代码片段和文件信息
#include
#include
#include
#include
#include
#include “evaluate.h“
#include “stack.h“
using namespace std;
///////////////////////////////////////////////////////
/*判断运算符优先级*/
int Eva:: swit(char op)
{
int mid;
switch (op)
{
case ‘+‘:
mid=0;
break;
case ‘-‘:
mid=1;
break;
case ‘*‘:
mid=2;
break;
case ‘/‘:
mid=3;
break;
case ‘(‘:
mid=4;
break;
case ‘)‘:
mid=5;
break;
case ‘#‘:
mid=6;
break;
case ‘^‘:
mid=7;
break;
}
return mid;
}
char Eva::Precede( char op char c )
{
int i
j;
char st[8][8]={
{‘>‘‘>‘‘<‘‘<‘‘<‘‘>‘‘>‘‘<‘}
{‘>‘‘>‘‘<‘‘<‘‘<‘‘>‘‘>‘‘<‘}
{‘>‘‘>‘‘>‘‘>‘‘<‘‘>‘‘>‘‘<‘}
{‘>‘‘>‘‘>‘‘>‘‘<‘‘>‘‘>‘‘<‘}
{‘<‘‘<‘‘<‘‘<‘‘<‘‘=‘‘0‘‘>‘}
{‘>‘‘>‘‘<‘‘0‘‘<‘‘>‘‘>‘‘<‘}
{‘<‘‘<‘‘<‘‘<‘‘<‘‘0‘‘=‘‘<‘}
{‘>‘‘>‘‘>‘‘>‘‘<‘‘>‘‘>‘‘<‘}
};
i=swit(op);
j=swit(c);
return st[i][j];
}
///////////////////////////////////////////////////////////////
/*计算两个是的基本运算*/
OperandType Eva::Operate( double a char op double b )
{
OperandType sum=0;
switch (op)
{
case ‘+‘:
sum=a+b;
break;
case ‘-‘:
sum=a-b;
break;
case ‘*‘:
sum=a*b;
break;
case ‘/‘:
sum=a/b;
break;
case ‘^‘:
sum=pow(ab);
default:
break;
}
return sum;
}
/////////////////////////////////////
/*判断一个字符是运算符还是数字*/
int Eva::In( char c )
{
switch (c)
{
case ‘+‘:
case ‘-‘:
case ‘*‘:
case ‘/‘:
case ‘(‘:
case ‘)‘:
case ‘^‘:
return 1;
break;
default:
return 0;
break;
}
}
//////////////////////////////////////////////////////
/*球表达式值的函数*/
OperandType Eva::Evaluateexpression()
{
linked_stack2 OPTR;//存放操作符的栈
linked_stack OPND;//存放操作数的栈
char op;
char c;
char x;
char k;
int i=0;
int om=1;
int tag2=0;
int flag=0;// 0表示运算中的除数不为零,1表示为零
OperandType n=0;
OperandType m=0;
char theta;
OperandType a;
OperandType b;
OperandType result;
InitStack(&OPTR);
Push(OPTR ‘#‘);
InitStack(&OPND);
while(cha[i] &&flag!=1)
{
c=cha[i];
if (In(c))
{
if (Simple(cha i))
{
tag2=1;
i++;
}
else
{
GetTop(OPTR &op);
switch (Precede(opc))
{
case ‘<‘:
Push(OPTR c);
i++;
break;
case ‘=‘:
Pop(OPTR&x);
i++;
break;
case ‘>‘:
Pop(OPTR &theta);
Pop(OPND &b);
Pop(OPND &a);
if (theta==‘/‘ && b==0)
{
flag=1;
cout<<‘\n‘<<“\t\t\t错误提示: 除数不能为零!“< return 10e-10;////
break;
}
else
{
Push(OPND Operate(a theta b));
break;
}
}
}//else
}
else
{
if ((cha[i]>=‘0‘ && cha[i]<=‘9‘) )
{
int tag=0;//0表示小数点前的数,1表示小数点后的数
do
{
if (cha[i]==‘.‘)
{
tag=1;
i++;
}
else;
if ((ch
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4493 2009-06-06 23:44 数据结构课程设计——算数表达式求解\cal\cal.dsp
文件 531 2009-06-05 21:47 数据结构课程设计——算数表达式求解\cal\cal.dsw
文件 66560 2009-06-21 13:56 数据结构课程设计——算数表达式求解\cal\cal.ncb
文件 55808 2009-06-21 13:56 数据结构课程设计——算数表达式求解\cal\cal.opt
文件 1290 2009-06-21 12:47 数据结构课程设计——算数表达式求解\cal\cal.plg
文件 622634 2009-06-21 12:47 数据结构课程设计——算数表达式求解\cal\Debug\cal.exe
文件 877904 2009-06-21 12:47 数据结构课程设计——算数表达式求解\cal\Debug\cal.ilk
文件 2185860 2009-06-21 12:47 数据结构课程设计——算数表达式求解\cal\Debug\cal.pch
文件 1410048 2009-06-21 12:47 数据结构课程设计——算数表达式求解\cal\Debug\cal.pdb
文件 307798 2009-06-21 12:47 数据结构课程设计——算数表达式求解\cal\Debug\evaluate.obj
文件 2034316 2009-06-08 08:15 数据结构课程设计——算数表达式求解\cal\Debug\evaluate.pch
文件 25600 2009-06-08 08:15 数据结构课程设计——算数表达式求解\cal\Debug\evaluate.pdb
文件 91065 2009-06-11 00:07 数据结构课程设计——算数表达式求解\cal\Debug\main.obj
文件 40853 2009-06-09 10:39 数据结构课程设计——算数表达式求解\cal\Debug\stack.obj
文件 99328 2009-06-21 13:12 数据结构课程设计——算数表达式求解\cal\Debug\vc60.idb
文件 118784 2009-06-21 12:47 数据结构课程设计——算数表达式求解\cal\Debug\vc60.pdb
文件 8600 2009-06-21 12:47 数据结构课程设计——算数表达式求解\cal\evaluate.cpp
文件 3549 2009-06-08 08:15 数据结构课程设计——算数表达式求解\cal\evaluate.dsp
文件 541 2009-06-08 08:15 数据结构课程设计——算数表达式求解\cal\evaluate.dsw
文件 694 2009-06-18 20:20 数据结构课程设计——算数表达式求解\cal\evaluate.h
文件 33792 2009-06-08 08:15 数据结构课程设计——算数表达式求解\cal\evaluate.ncb
文件 48640 2009-06-08 08:15 数据结构课程设计——算数表达式求解\cal\evaluate.opt
文件 1895 2009-06-08 08:15 数据结构课程设计——算数表达式求解\cal\evaluate.plg
文件 694 2009-06-11 08:31 数据结构课程设计——算数表达式求解\cal\help.txt
文件 763 2009-06-11 00:07 数据结构课程设计——算数表达式求解\cal\main.cpp
文件 2115 2009-06-09 10:39 数据结构课程设计——算数表达式求解\cal\stack.cpp
文件 824 2009-06-09 09:25 数据结构课程设计——算数表达式求解\cal\stack.h
文件 282624 2009-06-24 21:35 数据结构课程设计——算数表达式求解\实验报告.doc
目录 0 2009-06-24 23:06 数据结构课程设计——算数表达式求解\cal\Debug
目录 0 2009-06-24 23:06 数据结构课程设计——算数表达式求解\cal
............此处省略4个文件信息
评论
共有 条评论