用C++编写计算器

2024-05-09

1. 用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++编写计算器

2. C语言程序设计,做一个简单计算器。

1、首先,打开Vs 2010,如图。

2、找到左上角的新建并点击,给文件为简单计算器,单击确定。

3、点击下一步,注意勾选空项目,点击下一步,点击完成。

4、点击左侧的源文件,右击选择“添加—>项目”,选择C++文件,命名为简单计算器,因为是C程序,注意后缀名要加上.c,点击确定完成文件新建工作。

5、输入以下代码,好了,一个简单的计算器便做好了

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

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

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

4. C语言程序设计,做一个简单计算器。

1、首先,打开Vs 2010,如图。

2、找到左上角的新建并点击,给文件为简单计算器,单击确定。

3、点击下一步,注意勾选空项目,点击下一步,点击完成。

4、点击左侧的源文件,右击选择“添加—>项目”,选择C++文件,命名为简单计算器,因为是C程序,注意后缀名要加上.c,点击确定完成文件新建工作。

5、输入以下代码,好了,一个简单的计算器便做好了

5. 用C语言怎么写个计算器

一、用户界面是用图形窗口还是命令行窗口。
如果是命令行窗口它的数据输入输出比较简单。
如果是图形窗口则要涉及,图形窗口相同的操作了。这个部分如果你不会,那你需要专门学习一样。

二、支持哪些计算功能。
除了加减乘除外,是否还支持其他高级的计算功能?
加减乘除的计算精度。
32位系统中,如果计算结果为不大于32位二进制的数。(64位系统则为不大于64位数)你可以直接使用C语言的相应的加减乘除表达式完成。
如果是支持超大数的运算,那就需要采取特殊手段了。

比如32位系统中,计算的数超过32位。比如两个128位数相加。
需要将128位拆分成4个32位。将每个32位作为整体。在依照数学的多位数加进行计算。
A1 B1 C1 D1
A2 B2 C2 D2
--------------

D1与D2相加(需要检测是否有进位,也就是计算结构是否有溢出)
C1与C2相加,同样要检测进位,并且要加上D1与D2结果的进位。
B1与B2相加,同样要检测进位,并且要加上C1与C2结果的进位。
B1与B2相加,同上类推。


在实际程序时,可以将用户界面与加减乘除程序分离。即用户界面的代码要与计算程序的代码分在不同的函数中。
又用户界面代码调用计算函数。计算函数将结果返回给用户界面代码。

以命令行界面为例,
用户界面代码,只是等待用户输入,将相应用户信息转换成合适的格式,
然后调用相应计算函数。
计算函数做完计算以后,返回相应数字。
用户界面代码,再将返回的数字转换成适当的格式,显示在窗口上。

用C语言怎么写个计算器

6. 用C++设计一简单的计算器模拟程序

前几天写过这个,
6-1. 简单计算器(20)
时间限制
400 ms
内存限制
32000 kB
代码长度限制
8000 B
判题程序
Standard
作者
张彤彧(浙江大学)
模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,4种运算符的优先级相同,按从左到右的顺序计算。
输入格式:
输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数。遇等号”=”说明输入结束。
输出格式:
在一行中输出算式的运算结果,或者如果除法分母为0或有非法运算符,则输出错误信息“ERROR”。
输入样例:
1+2*10-10/2=
输出样例:
10

#include   #include   int main(){      int sum=0,i;      char j='+';      while(j!='='){          scanf("%d",&i);                    if(j=='+') sum+=i;          else if(j=='-') sum-=i;          else if(j=='*') sum*=i;          else if(j=='/') {               if(i==0) {                  printf("ERROR\n");                  goto end;              }              sum/=i;                   }          else {                  printf("ERROR\n");                  goto end;              }          scanf("%c",&j);      //  printf("sum=%d,i=%d\n",sum,i);            }            printf("%d",sum);      end:                return 0;  }

7. C语言计算程序

所谓后缀表达式,就是将a @ b写成 a b @其中前者是我们日常生活中的中缀表达式,后面的就是后缀表达式。例如7*8 化为 7 8 *例如6-9 化为 6 9 -例如5*(3+2),化成后缀表达式就是5 3 2 + *可知后缀表达式无括号。然后依次扫描符号,数字就直接进栈,遇到运算符就将前两个数字出栈、运算后结果再进栈:例如5 3 2 + *扫描5——>5扫描3——>5 3扫描2——>5 3 2扫描+——>5 5扫描*——>25

所以你现在要解决的问题是如何将中缀表达式转化成后缀表达式。这个依然是通过栈来实现。从左到右扫描,遇到数字直接输出,遇到符号比较优先级进栈或输出(优先级大的进栈,小的或相等的直接输出。其中左括号优先级大于乘除大于加减),遇到左括号则进栈,遇到右括号则将栈内左括号之内的符号都输出,遇到末尾就将栈内的所有符号都输出。例如5*(3+2)扫描5 直接输出扫描* 进栈(栈内:*)扫描( 进栈(站内:* ()扫描3 直接输出扫描+ +的优先级小于(的优先级,进栈,(栈内:* ( +)扫描2 直接输出扫描) 将站内(之前的全部输出,即输出了+扫描到末尾,将栈内所有东西全部输出,即输出了*综上,输出了5 3 2 + *

你可以看这个链接http://zhidao.baidu.com/question/552455212079542532.html?oldq=1
也是我回答的

C语言计算程序

8. C语言计算程序

关于运算符优先级,可参考网页链接
对a的赋值中,/和%优先级相同,从左向右计算。246/100取整为2,2对9取模为2.所以a=2.
对b的赋值中,因为-1!=0,认为此条件为真。真和真用且运算后仍为真。故b=1.