这是一个计算器程序 请各位高手帮我画一个流程图
#include
#include
#include
char token;
void error(void)
{
printf("stderr:FALSE\n");
exit(1);
}
void match(char expectedToken)
{
if(token==expectedToken)
token=getchar();
else
error();
}
int exp(void)
{
int temp=term();
while ((token=='+')||(token=='-'))
switch(token){
case'+':
match('+');
temp +=term();
break;
case '-':
match('-');
temp -=term();
break;
}
return temp;
}
int term()
{
int div;
int temp=factor();
while ((token=='*')||(token=='/'))
switch(token)
{
case'*': match('*');
temp*=factor();
break;
case'/':match('/');
div=factor();
if(div==0)
{
printf(stderr,"shuchuwei 0.\n");
exit(1);
}
temp /=div;
break;
}
return temp;
}
int factor(vodi)
{
int temp;
if (token=='(')
{
match('(');
temp=exp();
match(')');
}
else if (isdigit(token))
{
ungetc (token,stdin);
scanf("%d",&temp);
token=getchar();
}
else error();
return temp;
}
main()
{
int result;
printf("play a bey: ");
token= getchar();
result=exp();
if(token=='\n')
printf("jueku%d\n",result);
else error();
puts("play any key for ending ...");
getch();
return 0;
}