网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 设计资源 > 单片机 > 正文
课程设计
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: Admin 发布时间: 09/07/22
sp;    /*操作数的计数器*/
 OpHolder = malloc(sizeof(struct Node));      /*初始化*/
 OpHolder->Next = NULL;
 holder=getc(In);
 lastseen = '@';                           /*用来防止输入格式错误,例如两个小数点*/
 putc(' ',Temp);
 
 while ((holder !='\n') && (holder != EOF)){
  if (holder == ' '){
   digitcounter = 0;
  }
  else if ( IsOperator(holder) == -1){       /*如果holder不是操作数或运算符号*/
   PrintError = 1;
  }
  else if (IsOperator(holder)==0){
   if ((lastseen == holder) && (lastseen == '.')){   /*错误处理*/
    PrintError = 1;
   }
   else
    lastseen = holder;
   if (digitcounter == 0){    
    Push('A',Whereat);             /*进栈*/
    digitcounter++;    /*计数器加一*/
    putc(' ',Temp);
   }
   putc(holder,Temp);
  }
  else{
   digitcounter = 0;
   if ((lastseen == holder) && (lastseen != '(') && (lastseen != ')'))  /*"("情况特殊对待*/
    PrintError = 1;    
   else
    lastseen = holder;
   if(IsEmpty(OpHolder)==1){      /*当OpHolder为空*/
    Push(holder,OpHolder);
   }

   else if(OperatorValue(Top(OpHolder)) == 6){  /*OpHolder是"("的情况*/
    if(OperatorValue(holder)==5)
     Pop(OpHolder);
    else
    Push(holder,OpHolder);
   }
   else if(OperatorValue(holder) == 6){ 
    Push(holder,OpHolder);
   }
   else if(OperatorValue(holder) == 5){         /* OpHolder是" )"的情况*/
   while ((IsEmpty(OpHolder) != 1) && (OperatorValue(Top(OpHolder)) != 6))
   { 
     putc(' ',Temp);
     Push('B',Whereat);
     putc(Top(OpHolder),Temp);
     Pop(OpHolder);
    }
    if (IsEmpty(OpHolder) == 1){          /*错误处理,括号不匹配*/
     PrintError = 1; 
    }
    else
     Pop(OpHolder);
   }
   else if((OperatorValue(holder) == OperatorValue(Top(OpHolder)))
     && (OperatorValue(holder) == 3)){      /*幂运算情况*/
    Push(holder,OpHolder);
   }
   else if((OperatorValue(holder) < OperatorValue(Top(OpHolder)))
     && OperatorValue(Top(OpHolder)) == 3){  /*幂运算情况*/
    putc(' ',Temp);
    Push('B',Whereat);  
    putc(Top(OpHolder),Temp);
    Pop(OpHolder);
    while((IsEmpty(OpHolder) != 1) && (OperatorValue(Top(OpHolder)) == 3))
    {
     Push('B',Whereat);
    &nbs

  • 上一篇资讯: ep51编程器
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 电话:013574892963 QQ:3710167 邮箱:Educs@163.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 Www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号