⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄

📁 详细对一般字符串表达式解析
💻
📖 第 1 页 / 共 2 页
字号:
      DecimalPart;<BR>""DecimalPart = m_show 
      -IntegerPart;<BR>""UpdateData(FALSE);<BR>""DecimalBit--;<BR>""if 
      (DecimalBit==0)<BR>"""decimal = 0;<BR><BR>" }<BR>"else     //整数部分<BR>"{  
      <BR>""m_show =(long int )( m_show - (long int)((long int)m_show 
      %10))/10;<BR>""IntegerPart = (int)m_show; 
      <BR>""UpdateData(FALSE);<BR><BR>"}<BR>"  // TODO: Add your control 
      notification handler code here<BR>}<BR><BR>void CMyDlg::OnButton2() //对 CE 
      的处理<BR>{<BR>  m_show = 
      0;<BR>"DecimalPart=0; //小数部分<BR>"IntegerPart=0; //整数部分<BR>"DecimalBit = 
      0;   <BR>"decimal=0;<BR>"negative =0;<BR>"UpdateData(FALSE);<BR>"<BR>"// 
      TODO: Add your control notification handler code 
      here<BR>"<BR>}<BR><BR>void CMyDlg::OnButton3() //对 C 处理<BR>{<BR>"m_show = 
      0;<BR>"initialize();  //初始化<BR>"UpdateData(FALSE);<BR><BR>"// TODO: Add 
      your control notification handler code here<BR>}<BR><BR>void 
      CMyDlg::OnButton4() //对 MC 的处理 <BR>{<BR>"<BR>"m_memory = _T(" 
      ");<BR>"memory = 0;<BR>  UpdateData(FALSE); //刷新<BR>"IntegerPart = 
      0;<BR>"decimal=0;<BR>"DecimalPart=0;<BR><BR>  // TODO: Add your control 
      notification handler code here<BR>"<BR>}<BR><BR>void CMyDlg::OnButton5() 
      //对 MR 的处理<BR>{<BR>"m_show = 
      memory;<BR>  UpdateData(FALSE);<BR>"IntegerPart = 
      0;<BR>"decimal=0;<BR>"DecimalPart=0;<BR><BR>"// TODO: Add your control 
      notification handler code here<BR>"<BR>}<BR><BR>void CMyDlg::OnButton6() 
      //对 MS 的处理<BR>{  <BR>"if (m_show != 0.0)<BR>"{<BR>""m_memory = 
      _T("M");<BR>""memory = m_show;<BR>""UpdateData(FALSE);<BR>""IntegerPart = 
      0;<BR>""decimal=0;<BR>""DecimalPart=0;<BR>"}<BR><BR>  // TODO: Add your 
      control notification handler code here<BR>}<BR><BR>void 
      CMyDlg::OnButton7() //对 M+ 的处理 <BR>{  <BR>"if(m_show 
      !=0.0)<BR>"{<BR>""m_memory = _T("M");<BR>""memory += 
      m_show;<BR>""UpdateData(FALSE);<BR>""IntegerPart = 
      0;<BR>""decimal=0;<BR>""DecimalPart=0;<BR>"}<BR><BR> // TODO: Add your 
      control notification handler code here<BR>}<BR><BR>void 
      CMyDlg::OnButton8() //对 7 的处理<BR>{  <BR>  num1[subscript2++] = 
      '7';<BR>"receive(7);<BR>  UpdateData(FALSE);<BR>"<BR>"// TODO: Add your 
      control notification handler code here<BR>}<BR><BR>void 
      CMyDlg::OnButton9() //对 4 的处理<BR>{<BR>"num1[subscript2++] = 
      '4';<BR>"receive(4);<BR>  UpdateData(FALSE);<BR><BR> // TODO: Add your 
      control notification handler code here<BR>}<BR><BR>void 
      CMyDlg::OnButton10() //对 1 的处理<BR>{<BR>  num1[subscript2++] = 
      '1';<BR>"receive(1);<BR>"UpdateData(FALSE);<BR><BR>"// TODO: Add your 
      control notification handler code here<BR>}<BR><BR>void 
      CMyDlg::OnButton11()  //对 0 的处理有点问题<BR>{<BR>  num1[subscript2++] = 
      '0';<BR>"receive(0);<BR>  UpdateData(FALSE);<BR><BR>  // TODO: Add your 
      control notification handler code here<BR>}<BR><BR>void 
      CMyDlg::OnButton16() //对 8 的处理<BR>{<BR>"num1[subscript2++] = 
      '8';<BR>"receive(8);<BR>"UpdateData(FALSE);<BR><BR>"// TODO: Add your 
      control notification handler code here<BR>}<BR><BR>void 
      CMyDlg::OnButton17() //对 5 的处理<BR>{<BR>"num1[subscript2++] = 
      '5';<BR>"receive(5);<BR>"UpdateData(FALSE);<BR><BR>"// TODO: Add your 
      control notification handler code here<BR>}<BR><BR>void 
      CMyDlg::OnButton18() //对 2 的处理<BR>{<BR>"num1[subscript2++] = 
      '2';<BR>"receive(2);<BR>"UpdateData(FALSE);<BR><BR>"// TODO: Add your 
      control notification handler code here<BR>}<BR><BR>void 
      CMyDlg::OnButton19() //对 +/- 的处理<BR>{<BR>  m_show = (-m_show);<BR>"if 
      (m_show &lt; 0 )<BR>"{<BR>    negative = 1;<BR>"}<BR>"else negative = 
      0;<BR>"UpdateData(FALSE);<BR>"<BR>  // TODO: Add your control notification 
      handler code here<BR>"<BR>}<BR><BR>void CMyDlg::OnButton24() //对 9 
      的处理<BR>{  <BR>"num1[subscript2++] = 
      '9';<BR>"receive(9);<BR>"UpdateData(FALSE);<BR><BR>"// TODO: Add your 
      control notification handler code here<BR>}<BR><BR>void 
      CMyDlg::OnButton25() //对 6 的处理<BR>{  <BR>  num1[subscript2++] = 
      '6';<BR>"receive(6);<BR>  UpdateData(FALSE);<BR><BR>"// TODO: Add your 
      control notification handler code here<BR>"<BR>}<BR><BR>void 
      CMyDlg::OnButton26() //对 3 的处理<BR>{<BR>"num1[subscript2++] = 
      '3';<BR>"receive(3);<BR>"UpdateData(FALSE);<BR><BR>"// TODO: Add your 
      control notification handler code here<BR>}<BR><BR>void 
      CMyDlg::OnButton27() //对 . 的处理<BR>{<BR>"decimal = 1;  
      //标记有小数点<BR>"UpdateData(FALSE);<BR>"// TODO: Add your control notification 
      handler code here<BR>"<BR>}<BR><BR>void CMyDlg::OnButton20() //对 / 
      的处理<BR>{<BR><BR>"num[subscript++] = '/';<BR>  save[suffix++] = 
      m_show;<BR>  UpdateData(FALSE);<BR>"m_show = 
      0;<BR>"decimal=0;<BR>"DecimalPart=0;<BR>"IntegerPart=0;<BR>"DecimalBit=0;  
      //标记小数的位数<BR>"negative =0;<BR>" <BR>" <BR>"// TODO: Add your control 
      notification handler code here<BR>"<BR>}<BR><BR>void CMyDlg::OnButton21() 
      //对 * 的处理<BR>{<BR>"<BR>"num[subscript++] = '*';"<BR>  save[suffix++] = 
      m_show;<BR>  UpdateData(FALSE);<BR>"m_show = 
      0;<BR>"decimal=0;<BR>"DecimalPart=0;<BR>"IntegerPart=0;<BR>"DecimalBit=0;  
      //标记小数的位数<BR>"negative =0;<BR><BR>" <BR>"// TODO: Add your control 
      notification handler code here<BR>"<BR>}<BR><BR>void CMyDlg::OnButton22() 
      //对 - 的处理<BR>{<BR>"num[subscript++] = '-';<BR>"save[suffix++] = 
      m_show;<BR>  UpdateData(FALSE);<BR>"m_show = 
      0;<BR>"decimal=0;<BR>"DecimalPart=0;<BR>"IntegerPart=0;<BR>"DecimalBit=0;  
      //标记小数的位数<BR>"negative =0;<BR>" <BR>"// TODO: Add your control 
      notification handler code here<BR>"<BR>}<BR><BR>void CMyDlg::OnButton23() 
      //对 + 的处理<BR>{<BR>  num[subscript++] = '+';<BR>"save[suffix++] = 
      m_show;<BR>  UpdateData(FALSE);<BR>"m_show = 
      0;<BR>"decimal=0;<BR>"DecimalPart=0;<BR>"IntegerPart=0;<BR>"DecimalBit=0;  
      //标记小数的位数<BR>"negative =0;<BR>" <BR>"// TODO: Add your control 
      notification handler code here<BR>"<BR>}<BR><BR>void CMyDlg::OnButton12() 
      //对 sqrt 的处理<BR>{<BR>  CString str2;<BR>  if( negative ==1 || m_show &lt; 
      0.0)<BR>"{  <BR>"  str2 
      =_T("函数输入无效\n");<BR>""MessageBox(str2,"ERROR");<BR>    m_show = 
      0.0;<BR>"  initialize();  //重新开始计算<BR>"}<BR>"else <BR>"  m_show = 
      sqrt(m_show);<BR>  save[suffix++] = 
      m_show;<BR>  UpdateData(FALSE);<BR>"IntegerPart = 
      0;<BR>  decimal=0;<BR>"DecimalPart = 0;<BR><BR> // TODO: Add your control 
      notification handler code here<BR>}<BR><BR>void CMyDlg::OnButton13() //对 % 
      的处理 取余<BR>{<BR>  num[subscript++] = '%';<BR>"save[suffix++] = 
      m_show;<BR>  UpdateData(FALSE);<BR>"IntegerPart = 
      0;<BR>"decimal=0;<BR>"DecimalPart=0;<BR>"DecimalBit=0;  
      //标记小数的位数<BR>"negative = 0;<BR>"<BR>"// TODO: Add your control 
      notification handler code here<BR>"}<BR><BR>void CMyDlg::OnButton14() //对 
      1/x 的处理<BR>{<BR>"long double temp;<BR>"CString str1;<BR>  if (m_show == 
      0)<BR>"{ <BR>    str1 = _T("除数不能为零\n");<BR>"  
      MessageBox(str1,"ERROR");<BR>"}<BR>  else <BR>"{<BR>"temp = 
      1/m_show;<BR>"m_show = temp;<BR>  save[suffix++] = 
      m_show;<BR>"}<BR>"UpdateData(FALSE);<BR>"IntegerPart = 
      0;<BR>"decimal=0;<BR>"DecimalPart=0;<BR><BR>  // TODO: Add your control 
      notification handler code here<BR>}<BR><BR>void CMyDlg::OnButton15() //对 = 
      的处理<BR>{<BR><BR>"num[subscript++] = '\0';<BR>"save[suffix++] = 
      m_show;<BR>"cal();<BR>"m_show = 
      temp1;<BR>  UpdateData(FALSE);<BR>"initialize();<BR><BR>"// TODO: Add your 
      control notification handler code her<BR>}<BR><BR>void CMyDlg:: 
      initialize()  //初始化操作<BR>{<BR>"DecimalBit = 0;   //标记小数的位数<BR>  decimal = 
      0;    //标记是否有小数点<BR>  DecimalPart = 0;  //小数部分<BR>"IntegerPart = 
      0;  //整数部分<BR>  negative = 0;    //标记正负数<BR>"temp1 = 
      0.0;    //保存计算结果<BR>"subscript = 0;   //清缓存区<BR>  subscript1 = 0;   
      //同上<BR>  suffix = 0;     //同上<BR>"subfix1 = 0;    //同上<BR>"subfix2 = 
      0;    //同上<BR>  <BR>}<BR><BR>void CMyDlg:: receive(int n)  
      //接收从键盘上输入的有效字符<BR>{<BR>" if ( decimal == 0) <BR>"  IntegerPart = 
      IntegerPart * 10 + n;<BR>"else <BR>"{<BR>""DecimalBit++;<BR>"  DecimalPart 
      = DecimalPart + pow(10,(-1)*DecimalBit) * n;<BR>"}<BR>    m_show = 
      IntegerPart + DecimalPart;<BR><BR>"if ( negative == 1)<BR>"""m_show = 
      -(m_show);<BR>}<BR><BR>void 
      CMyDlg::cal()  //进行加、减、乘、除、取余的优先运算<BR>{<BR>"muldiv();     
      //先算乘、除、取余运算<BR>"subfix1 = 0;<BR>"<BR>"while (subfix1 &lt; subscript1 
      &amp;&amp; tempchar[subfix1] != '\0')<BR>"{  <BR>""temp1 = 
      tempvar[subfix1];<BR>""switch (tempchar[subfix1])<BR>""{<BR>""case 
      '+':<BR>"""temp1 =temp1 + tempvar[subfix1 + 
      1];<BR>"""subfix1++;<BR>"""tempvar[subfix1] = 
      temp1;<BR><BR>"""break;<BR>""case '-':<BR>"""temp1 =temp1 - 
      tempvar[subfix1 + 1];<BR>"""subfix1++;<BR>"""tempvar[subfix1] = 
      temp1;<BR>"""break;"""<BR>""}<BR>"}<BR>}<BR><BR><BR>void CMyDlg:: 
      muldiv() //先算乘、除、取余运算,再算加、减<BR>{<BR>"while ( subfix1 &lt; 
      suffix)<BR>"{<BR>""temp1 = save[subfix1];<BR>""switch 
      (num[subfix1])<BR>""{<BR>""case '*':<BR>"""temp1 = temp1 * save[subfix1 
      +1];<BR>"""subfix1++;<BR>"""save[subfix1] = temp1;<BR>"""break;<BR>""case 
      '/':<BR>"""if(save[subfix1 + 1] != 0.0)<BR>"""{<BR>"""temp1 =temp1 / 
      save[subfix1 +1];<BR>"""subfix1++;<BR>"""save[subfix1] = 
      temp1;<BR>"""}<BR>"""else <BR>""""printf("ERROR");<BR>"""break;<BR>""case 
      '%':<BR>"""if(temp1 !=0.0 &amp;&amp; save[subfix1 + 1] != 
      0.0)<BR>"""{<BR>"""temp1 = fmod(temp1,save[subfix1 + 
      1]);<BR>"""subfix1++;<BR>"""save[subfix1] = temp1;<BR>"""}<BR>"""else 
      <BR>""""printf("error");<BR>"""break;<BR>""default 
      :<BR>"""tempvar[subscript1++] = temp1;<BR>"""tempchar[subfix2++] = 
      num[subfix1];<BR>"""tempchar[subfix2] = 
      '\0';<BR>"""subfix1++;<BR>"""break;<BR>""}<BR>"}<BR>}<BR><BR>中科学管理干部学院电脑报社有祥细的代码<BR>联系方式:010--69664928<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>[原内容已经被作者修改过,2005-10-13 
      22:24:12]<BR></FONT></TD></TR>
  <TR>
    <TD bgColor=#f5f5f5 width=146><FONT size=2><IMG alt=发表时间 border=0 
      height=13 src="查看主题 - 计算器完整代码-中科学管理干部学院 - 编程论坛.files/post.gif" width=12> 
      2005-10-13 22:22:45</FONT></TD>
    <TD align=right bgColor=#f5f5f5 width=600><FONT size=2><A 
      href="mailto:wanghuan-vip@126.com"><IMG alt=wanghuan-vip@126.com border=0 
      height=11 src="查看主题 - 计算器完整代码-中科学管理干部学院 - 编程论坛.files/email.gif" 
      width=24></A> </FONT></TD></TR></TBODY></TABLE></CENTER></DIV><FONT size=2><!-- reply blocks --></FONT>
<P></P>
<TABLE border=0 cellSpacing=0 width=760>
  <TBODY>
  <TR>
    <TD width="64%">&nbsp;</TD>
    <TD width="36%"></TD></TR>
  <TR>
    <TD colSpan=2 width="100%"></TD></TR></TBODY></TABLE><FONT 
size=2></CENTER></FONT>
<P></P><FONT size=2>&nbsp; </FONT></FONT></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -