简单计算器c++课程设计讲解 下载本文

25

}

pass3=0;

UpdateData(FALSE);

2、加减乘除和小数点的输入

void CLuxiaoyingDlg::OnJiaButton13() { }

void CLuxiaoyingDlg::OnJianButton14() { }

void CLuxiaoyingDlg::OnChengButton15() {

// TODO: Add your control notification handler code here UpdateData(TRUE);

m_str = m_str + \乘号 pass1=1;

UpdateData(FALSE);

25 1

// TODO: Add your control notification handler code here UpdateData(TRUE);

m_str = m_str + \加号 pass1=1;

UpdateData(FALSE);

// TODO: Add your control notification handler code here UpdateData(TRUE);

m_str = m_str + \减号 pass1=1;

UpdateData(FALSE);

26

}

void CLuxiaoyingDlg::OnChuButton16() { }

void CLuxiaoyingDlg::OnDianButton12() { }

3、清除功能的实现

void CLuxiaoyingDlg::OnClearButton17() {

// TODO: Add your control notification handler code here UpdateData(1); m_str=\

pass1=1;// 之前是否有操作符输入,有,则为1,无,则为0 pass2=1;//是否有小数点,有,则为0,无,则为1 pass3=1;// 之前是否有数字输入,有,则为0,无,则为1 UpdateData(0);

26 1

// TODO: Add your control notification handler code here UpdateData(TRUE);

m_str = m_str + \除号 pass1=1;

UpdateData(FALSE);

// TODO: Add your control notification handler code here UpdateData(1); if(pass1==1&&pass2==1)

m_str+=\

pass2=0; UpdateData(0);

27

}

4、cos功能的实现

void CLuxiaoyingDlg::OnCosButton23() {

// TODO: Add your control notification handler code here double a,itemp=0,rate=10.0; int i;

UpdateData(TRUE);

for(i=0;i

27 1

if(isdigit(m_str.GetAt(i))) { }

else if(m_str.GetAt(i)=='.')

rate=0.1; if(rate==10.0) { } else { }

itemp=itemp+rate*(m_str.GetAt(i)-'0'); rate=rate/10;

if(i==m_str.GetLength()-1)

a=itemp;

itemp=itemp*rate+(m_str.GetAt(i)-'0'); if(i==m_str.GetLength()-1)

a=itemp;

28

}

a=cos(a*3.1415926/180); m_str.Format(\pass1=0;

UpdateData(FALSE);

5、倒数功能的实现

void CLuxiaoyingDlg::OnDaoshuButton19() {

// TODO: Add your control notification handler code here double a,itemp=0,rate=10.0; int i;

UpdateData(TRUE);

for(i=0;i

if(isdigit(m_str.GetAt(i))) {

if(rate==10.0) { } else { }

28 1

itemp=itemp*rate+(m_str.GetAt(i)-'0'); if(i==m_str.GetLength()-1)

a=itemp;

itemp=itemp+rate*(m_str.GetAt(i)-'0'); rate=rate/10;

if(i==m_str.GetLength()-1)

a=itemp;