#include"stdio.h"
#include"math.h"
#include"stdlib.h"
struct optrstyle
{
int top;
char stack[20];
}
struct opndstyle
{
int top;
int stack[20];
}
void main()
{
char ch;
while(1)
{
printf("-----------------------------------------\n");
printf("|-----------欢迎来到速算24--------------|\n");
printf("|----------是否开始游戏?????------------|\n");
printf("|--------- 开始游戏请按'Y'-------------|\n");
printf("|--------- 退出游戏请按其他键-------------|\n");
printf("-----------------------------------------\n");
scanf("%c",&ch);
if(ch=='Y' or ch=='y')
{
}
else
break;
}
}
int EvaluateExpression()
{
// 算术表达式求值的算符优先算法。设 OPTR 和 OPND 分别为运算符栈和运算数栈,OP 为运算符集合。
InitStack(OPTR);
Push(OPTR,'#');
InitStack(OPND);
c = getchar();
while(c!='#' || GetTop(OPTR)!='#')
{
if(!In(c,OP))
{
Push((OPND,c);
c = getchar();
} // 不是运算符则进栈
else
switch(Precede(GetTop(OPTR),c))
{
case '<': // 栈顶元素优先权低
Push(OPTR,c);
c = getchar();
break;
case '=': // 脱括号并接收下一字符
Pop(OPTR,x); c = getchar();
break;
case '>': // 退栈并将运算结果入栈
vb计算器代码大全 Pop(OPTR,theta);
Pop(OPND,b);
Pop(OPND,a);
Push(OPND,Operate(a,theta,b));
break;
}// switch
}// while
return GetTop(OPND);
}// EvaluateExpression
int changecard( char a[])
{
if()
}
void InitStack(Stack &S)
{
S.top=-1;
}
int Pop1(Stack &S)
{
p==-1)
{
printf("stack is empty!");
exit (1);
}
ElemType temp=S.p];
S.top--;
return temp;
}
int GetTop1(Stack &S)
{
p==-1)
{
printf("stack is empty!");
exit (1);
}
return S.p];
}
char Pop2(Stack &S)
{
p==-1)
{
printf("stack is empty!");
exit (1);
}
ElemType temp=S.p];
S.top--;
return temp;
}
char GetTop2(Stack &S)
{
p==-1)
{
printf("stack is empty!");
exit (1);
}
return S.p];
}
char Precede(char a,char b)//算符优先级函数
{
char temp;
switch(a)
{
case '+','-':
{
if (b=='*' or b=='/' or b=='(')
temp='<';
else temp='>';
}break;
case '*','/':
{
if(b=='(')
temp='<';
else temp='>';
}break;
case '(':
{
if(b==')')
temp='=';
else
temp='<';
}break;
case ')':temp='>';break;
case '#':
{
if(b=='#')
temp='=';
else temp='<';
}break;
default break;
}
return temp;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论