📄 www.txt
字号:
#include<iostream.h>
#include<stdlib.h>
#include<ctype.h>
int add();
int mul();
int number();
void error();
static char exp[81];
static int pos;
int main(){
int ans;
do
{
pos=0;
cout<<"请输入表达式"<<endl;
cin>>exp;
ans=add();
if(exp[pos]!='\0')
error();
if(ans!=0)
cout<<ans<<endl;
}while(ans!=0);
return 0;
}
int add()
{
int rtn=mul();
while(exp[pos]=='+'||exp[pos]=='-')
{
int op=exp[pos++];
int opr2=mul();
if(op=='+')
rtn+=opr2;
else
rtn-=opr2;
}
return rtn;
}
int mul()
{
int rtn=number();
while(exp[pos]=='*'||exp[pos]=='/')
{
int op=exp[pos++];
int opr2=number();
if(op=='*')
rtn*=opr2;
else
rtn/=opr2;
}
return rtn;
}
int number()
{
int rtn;
if(exp[pos]=='(')
{
pos++;
rtn=add();
if(exp[pos++]!=')')
error();
return rtn;
}
if(!isdigit(exp[pos]))
error();
rtn=atoi(exp+pos);
while(isdigit(exp[pos]))
pos++;
return rtn;
}
void error()
{
cout<<'\r';
while(pos++)
cout<<' ';
cout<<"error"<<endl<<'\a';
exit(-1); fasddhfl;asdkdjf;'jlasdf;lkjasld;fkjalsdkjf;lasdkjf;lkasjddfl;kajsddflkjasldfkjasdlkfjlaskjdflaksjdfl;kajsddf;lkj;lasdkdjfflaskjdffl;kasjdflf;kjasdl;fkjas;ldkfj;lsdakjflaskjdflkasjdflkjasddlfkjasl;dfkj;lsadkjflasdkjdfl;ksajdff;lkjsadl;fkjsladkfjlsdkjf;lksjdafl;kjasdfldkas;ldjkf;lksadjfl;skadjflksadjflksjaddflkjsddl;fkjls;dkjflsdkjfl;ksdjflksdjdfflkjsdlfkjsdlkffjlsdkjflsdkjflsdkjflksdjflksdjfflkjsdflkjsdfflkjssldfkjsdldkfjflsdksjflksjdfflksjddfflkjsdfl;kjsd;lfkjs;ldkjf;lsdkjf;lksjdflkjsdlf;kjasldfkjal;sdkjfla;skdjffl;ksajdf;lkjsadf;lkjsald;fkj;saldkdjf
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -