📄 tree.cpp
字号:
// tree.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "fun.h"
#include "stdlib.h"
char b[40];
char a[80];
int k;
int main()
{ Tree E;
int flag=1,j,s;char ch,c;
InitTree(E);
while(flag){
system("cls");//清屏
printf("\n输入数字选择以下操作:\n");
printf("\n 0 退出 \n 1 输入表达式 \n 2 中缀表示式输出表达 \n 3 对表达式中的变量赋值 \n 4 表达式E求值 \n 5 构造复合表达式 \n");
fflush(stdin);//刷清文件缓冲区的内容
ch=getchar();
switch(ch){
case '0':
flag=0;break;
case '1':
ReadExpr(E);
printf("\n按任意键继续....");
fflush(stdin);
getchar();
break;
case '2':
if(!E) printf("\n表达式为空!");
else {printf("\n表达式为:"); WriteExpr(E);}
printf("\n按任意键继续....");
fflush(stdin);
getchar();
break;
case '3':
printf("表达式为:");
WriteExpr(E);
c='a';
for(j=0;b[j]!='\0';){
printf("\n请对变量 %c 赋值 :",b[j]);
fflush(stdin);//刷清文件缓冲区的内容
c=getchar();
if(c>='0'&&c<='9'){
Assign(E,b[j],c);
j++;
}
}
printf("\n按任意键继续....");
fflush(stdin);
getchar();
break;
case '4':
s=Value(E);
WriteExpr(E);
printf(" = %d",s);
printf("\n按任意键继续....");
fflush(stdin);
getchar();
break;
case '5':
char P;Tree E1,E2;
InitTree(E1);
InitTree(E2);
do{
printf("输入复合表达的连接符号P:");
fflush(stdin);
P=getchar();
}while(P!='+'&&P!='-'&&P!='*'&&P!='/'&&P!='^');
E=CompoundExpr(P,E1,E2);
printf("\n按任意键继续....");
fflush(stdin);
getchar();
break;
default:break;
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -