vc++6.0计算器代码

2024-05-14

1. vc++6.0计算器代码

思路:
用一个变量来标记操作符(+ - * /),int flag=0;   //1为加,2为减,3为乘,4为除,0为未按操作符。
用两个CString变量来存储第一个和第二个操作数,注意如果为除时要检测第二个操作数是否为0。
随时检测输入框edit中输入的内容,最多只能有一个小数点,首先按小数点时显示为“0.”
另注意一些细节:连续操作,结果数如果有小数点,末尾为0的要全部消除0等等


实现:
edit控件:增加控件变量:m_edit新建上述button 分别更改为:IDC_0........IDC_9, IDC_AC, IDC_C , IDC_CHU(除) , IDC_C(乘) , IDC_J(减) , IDC_ADD(加) , IDC_DOT(点) , IDC_DY(等于)全局变量: CString str1, str;int flag = 0; //0为无,1为加,2为减,3为乘,4为除bool bflag = false; //输入是否为第二个操作数代码如下:void CcalcDlg::OnBnClickedAc() //AC{flag = 0;bflag = false;str1 = _T("");str = _T("");m_edit.SetWindowTextW(_T(""));}void CcalcDlg::OnBnClickedC() //C{OnBnClickedAc();}void CcalcDlg::OnBnClicked1() //1{if (bflag==true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str == _T("0")){str = _T("1");}else{str = str + _T("1");}m_edit.SetWindowTextW(str);}void CcalcDlg::OnBnClicked2() //2{if (bflag == true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str == _T("0")){str = _T("2");}else{str = str + _T("2");}m_edit.SetWindowTextW(str);}void CcalcDlg::OnBnClicked3() //3{if (bflag == true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str == _T("0")){str = _T("3");}else{str = str + _T("3");}m_edit.SetWindowTextW(str);}void CcalcDlg::OnBnClicked4() //4{if (bflag == true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str == _T("0")){str = _T("4");}else{str = str + _T("4");}m_edit.SetWindowTextW(str);}void CcalcDlg::OnBnClicked5() //5{if (bflag == true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str == _T("0")){str = _T("5");}else{str = str + _T("5");}m_edit.SetWindowTextW(str);}void CcalcDlg::OnBnClicked6() //6{if (bflag == true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str == _T("0")){str = _T("6");}else{str = str + _T("6");}m_edit.SetWindowTextW(str);}void CcalcDlg::OnBnClicked7() //7{if (bflag == true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str == _T("0")){str = _T("7");}else{str = str + _T("7");}m_edit.SetWindowTextW(str);}void CcalcDlg::OnBnClicked8() //8{if (bflag == true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str == _T("0")){str = _T("8");}else{str = str + _T("8");}m_edit.SetWindowTextW(str);}void CcalcDlg::OnBnClicked9() //9{if (bflag == true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str == _T("0")){str = _T("9");}else{str = str + _T("9");}m_edit.SetWindowTextW(str);}void CcalcDlg::OnBnClicked0() //0{if (bflag == true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str != _T("0")){str = str + _T("0");m_edit.SetWindowTextW(str);}}void CcalcDlg::OnBnClickedDot() //点{if (bflag == true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str.Find('.') != -1)return;if (str == _T("0") || str == _T("")){str = _T("0.");}else{str = str + _T(".");}m_edit.SetWindowTextW(str);}void CcalcDlg::OnBnClickedChu() //除{if (str != _T("")){flag = 4;bflag = true;}}void CcalcDlg::OnBnClickedCheng() //乘{if (str != _T("")){flag = 3;bflag = true;}}void CcalcDlg::OnBnClickedJ() //减{if (str != _T("")){bflag = true;flag = 2;}}void CcalcDlg::OnBnClickedAdd() //加{if (str != _T("")){flag = 1;bflag = true;}}void CcalcDlg::OnBnClickedDy() //等于{double a, b;b = _ttof(str);a = _ttof(str1);CString s;switch (flag){case 1: //加s.Format(_T("%f"), a + b);break;case 2: //减s.Format(_T("%f"), a - b);break;case 3: //乘s.Format(_T("%f"), a * b);break;case 4: //除if (str != _T("0")){s.Format(_T("%f"), a / b);}else{MessageBox(_T("除数为0"));OnBnClickedAc();}break;default:s = _T("");}int f = s.Find('.');if (f != -1){int i = s.GetLength();while ('0' == s.GetAt(i - 1)){s.Delete(i - 1, 1);i--;}i = s.GetLength();if ('.' == s.GetAt(i - 1)){s.Delete(i - 1, 1);}}m_edit.SetWindowTextW(s);str = _T("");str1 = _T("");flag = 0;bflag = false;}

vc++6.0计算器代码

2. 如何用C++编写计算器

思路:
用一个变量来标记操作符(+ - * /),int flag=0;   //1为加,2为减,3为乘,4为除,0为未按操作符。
用两个CString变量来存储第一个和第二个操作数,注意如果为除时要检测第二个操作数是否为0。
随时检测输入框edit中输入的内容,最多只能有一个小数点,首先按小数点时显示为“0.”
另注意一些细节:连续操作,结果数如果有小数点,末尾为0的要全部消除0等等


实现:
edit控件:增加控件变量:m_edit新建上述button 分别更改为:IDC_0........IDC_9, IDC_AC, IDC_C , IDC_CHU(除) , IDC_C(乘) , IDC_J(减) , IDC_ADD(加) , IDC_DOT(点) , IDC_DY(等于)全局变量: CString str1, str;int flag = 0; //0为无,1为加,2为减,3为乘,4为除bool bflag = false; //输入是否为第二个操作数代码如下:void CcalcDlg::OnBnClickedAc() //AC{flag = 0;bflag = false;str1 = _T("");str = _T("");m_edit.SetWindowTextW(_T(""));}void CcalcDlg::OnBnClickedC() //C{OnBnClickedAc();}void CcalcDlg::OnBnClicked1() //1{if (bflag==true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str == _T("0")){str = _T("1");}else{str = str + _T("1");}m_edit.SetWindowTextW(str);}void CcalcDlg::OnBnClicked2() //2{if (bflag == true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str == _T("0")){str = _T("2");}else{str = str + _T("2");}m_edit.SetWindowTextW(str);}void CcalcDlg::OnBnClicked3() //3{if (bflag == true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str == _T("0")){str = _T("3");}else{str = str + _T("3");}m_edit.SetWindowTextW(str);}void CcalcDlg::OnBnClicked4() //4{if (bflag == true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str == _T("0")){str = _T("4");}else{str = str + _T("4");}m_edit.SetWindowTextW(str);}void CcalcDlg::OnBnClicked5() //5{if (bflag == true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str == _T("0")){str = _T("5");}else{str = str + _T("5");}m_edit.SetWindowTextW(str);}void CcalcDlg::OnBnClicked6() //6{if (bflag == true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str == _T("0")){str = _T("6");}else{str = str + _T("6");}m_edit.SetWindowTextW(str);}void CcalcDlg::OnBnClicked7() //7{if (bflag == true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str == _T("0")){str = _T("7");}else{str = str + _T("7");}m_edit.SetWindowTextW(str);}void CcalcDlg::OnBnClicked8() //8{if (bflag == true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str == _T("0")){str = _T("8");}else{str = str + _T("8");}m_edit.SetWindowTextW(str);}void CcalcDlg::OnBnClicked9() //9{if (bflag == true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str == _T("0")){str = _T("9");}else{str = str + _T("9");}m_edit.SetWindowTextW(str);}void CcalcDlg::OnBnClicked0() //0{if (bflag == true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str != _T("0")){str = str + _T("0");m_edit.SetWindowTextW(str);}}void CcalcDlg::OnBnClickedDot() //点{if (bflag == true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str.Find('.') != -1)return;if (str == _T("0") || str == _T("")){str = _T("0.");}else{str = str + _T(".");}m_edit.SetWindowTextW(str);}void CcalcDlg::OnBnClickedChu() //除{if (str != _T("")){flag = 4;bflag = true;}}void CcalcDlg::OnBnClickedCheng() //乘{if (str != _T("")){flag = 3;bflag = true;}}void CcalcDlg::OnBnClickedJ() //减{if (str != _T("")){bflag = true;flag = 2;}}void CcalcDlg::OnBnClickedAdd() //加{if (str != _T("")){flag = 1;bflag = true;}}void CcalcDlg::OnBnClickedDy() //等于{double a, b;b = _ttof(str);a = _ttof(str1);CString s;switch (flag){case 1: //加s.Format(_T("%f"), a + b);break;case 2: //减s.Format(_T("%f"), a - b);break;case 3: //乘s.Format(_T("%f"), a * b);break;case 4: //除if (str != _T("0")){s.Format(_T("%f"), a / b);}else{MessageBox(_T("除数为0"));OnBnClickedAc();}break;default:s = _T("");}int f = s.Find('.');if (f != -1){int i = s.GetLength();while ('0' == s.GetAt(i - 1)){s.Delete(i - 1, 1);i--;}i = s.GetLength();if ('.' == s.GetAt(i - 1)){s.Delete(i - 1, 1);}}m_edit.SetWindowTextW(s);str = _T("");str1 = _T("");flag = 0;bflag = false;}

3. 用C++编写计算器

思路:
用一个变量来标记操作符(+ - * /),int flag=0;   //1为加,2为减,3为乘,4为除,0为未按操作符。
用两个CString变量来存储第一个和第二个操作数,注意如果为除时要检测第二个操作数是否为0。
随时检测输入框edit中输入的内容,最多只能有一个小数点,首先按小数点时显示为“0.”
另注意一些细节:连续操作,结果数如果有小数点,末尾为0的要全部消除0等等


实现:
edit控件:增加控件变量:m_edit新建上述button 分别更改为:IDC_0........IDC_9, IDC_AC, IDC_C , IDC_CHU(除) , IDC_C(乘) , IDC_J(减) , IDC_ADD(加) , IDC_DOT(点) , IDC_DY(等于)全局变量: CString str1, str;int flag = 0; //0为无,1为加,2为减,3为乘,4为除bool bflag = false; //输入是否为第二个操作数代码如下:void CcalcDlg::OnBnClickedAc() //AC{flag = 0;bflag = false;str1 = _T("");str = _T("");m_edit.SetWindowTextW(_T(""));}void CcalcDlg::OnBnClickedC() //C{OnBnClickedAc();}void CcalcDlg::OnBnClicked1() //1{if (bflag==true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str == _T("0")){str = _T("1");}else{str = str + _T("1");}m_edit.SetWindowTextW(str);}void CcalcDlg::OnBnClicked2() //2{if (bflag == true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str == _T("0")){str = _T("2");}else{str = str + _T("2");}m_edit.SetWindowTextW(str);}void CcalcDlg::OnBnClicked3() //3{if (bflag == true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str == _T("0")){str = _T("3");}else{str = str + _T("3");}m_edit.SetWindowTextW(str);}void CcalcDlg::OnBnClicked4() //4{if (bflag == true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str == _T("0")){str = _T("4");}else{str = str + _T("4");}m_edit.SetWindowTextW(str);}void CcalcDlg::OnBnClicked5() //5{if (bflag == true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str == _T("0")){str = _T("5");}else{str = str + _T("5");}m_edit.SetWindowTextW(str);}void CcalcDlg::OnBnClicked6() //6{if (bflag == true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str == _T("0")){str = _T("6");}else{str = str + _T("6");}m_edit.SetWindowTextW(str);}void CcalcDlg::OnBnClicked7() //7{if (bflag == true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str == _T("0")){str = _T("7");}else{str = str + _T("7");}m_edit.SetWindowTextW(str);}void CcalcDlg::OnBnClicked8() //8{if (bflag == true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str == _T("0")){str = _T("8");}else{str = str + _T("8");}m_edit.SetWindowTextW(str);}void CcalcDlg::OnBnClicked9() //9{if (bflag == true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str == _T("0")){str = _T("9");}else{str = str + _T("9");}m_edit.SetWindowTextW(str);}void CcalcDlg::OnBnClicked0() //0{if (bflag == true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str != _T("0")){str = str + _T("0");m_edit.SetWindowTextW(str);}}void CcalcDlg::OnBnClickedDot() //点{if (bflag == true){str1 = str;str = _T("");bflag = false;m_edit.SetWindowTextW(_T(""));}if (str.Find('.') != -1)return;if (str == _T("0") || str == _T("")){str = _T("0.");}else{str = str + _T(".");}m_edit.SetWindowTextW(str);}void CcalcDlg::OnBnClickedChu() //除{if (str != _T("")){flag = 4;bflag = true;}}void CcalcDlg::OnBnClickedCheng() //乘{if (str != _T("")){flag = 3;bflag = true;}}void CcalcDlg::OnBnClickedJ() //减{if (str != _T("")){bflag = true;flag = 2;}}void CcalcDlg::OnBnClickedAdd() //加{if (str != _T("")){flag = 1;bflag = true;}}void CcalcDlg::OnBnClickedDy() //等于{double a, b;b = _ttof(str);a = _ttof(str1);CString s;switch (flag){case 1: //加s.Format(_T("%f"), a + b);break;case 2: //减s.Format(_T("%f"), a - b);break;case 3: //乘s.Format(_T("%f"), a * b);break;case 4: //除if (str != _T("0")){s.Format(_T("%f"), a / b);}else{MessageBox(_T("除数为0"));OnBnClickedAc();}break;default:s = _T("");}int f = s.Find('.');if (f != -1){int i = s.GetLength();while ('0' == s.GetAt(i - 1)){s.Delete(i - 1, 1);i--;}i = s.GetLength();if ('.' == s.GetAt(i - 1)){s.Delete(i - 1, 1);}}m_edit.SetWindowTextW(s);str = _T("");str1 = _T("");flag = 0;bflag = false;}

用C++编写计算器

4. 用c语言 (c++) 编写计算器程序

 我们平时进行数学运算都是用计算器完成的,那么如何用C语言编写一个计算器呢?下面我给大家分享一下。
                                                                                                                                                                                    工具/材料                                                                          Dev C++
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               01                                                                                                              首先我们需要在Dev C++软件中创建一个C语言项目,项目类型选择控制台程序,如下图所示
                                                                                                                                                                                                                                                                                                                                                                                                                  02                                                                                                              接下来我们在项目下面新建C语言文件,如下图所示
                                                                                                                                                                                                                                                                                                                                                                                                                  03                                                                                                              然后我们在C文件中写入计算器逻辑代码,主要是让用户输入计算方式,然后程序自动计算,如下图所示
                                                                                                                                                                                                                                                                                                                                                                                                                  04                                                                                                              接下来我们点击运行菜单,选择下拉菜单中的运行选项,如下图所示
                                                                                                                                                                                                                                                                                                                                                                                                                  05                                                                                                              最后在弹出的界面中我们输入要计算的公式,程序就会自动计算,如下图所示