📄
字号:
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 < 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 <
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 < subscript1
&& 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 <
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 && 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%"> </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> </FONT></FONT></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -