C++四则运算程序代码.doc

C++四则运算程序代码.doc

ID:60778382

大小:40.50 KB

页数:7页

时间:2020-12-18

C++四则运算程序代码.doc_第1页
C++四则运算程序代码.doc_第2页
C++四则运算程序代码.doc_第3页
C++四则运算程序代码.doc_第4页
C++四则运算程序代码.doc_第5页
资源描述:

《C++四则运算程序代码.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、四则表达式计算一、程序分析和设计把整个表达式存为字符数组,按照四则运算规则寻找其中的运算符号,然后提取左右两侧操作数计算,用计算结果替换掉计算的表达式,这样整体表达式会被简化,继续重复这个过程,直到找不到运算符为止。1)运算表达式的存储定义字符数组来存储即可,注意由于运算过程中可能会出现小数,而小数会导致表达式长度增加,所以定义时字符数组长度应该足够(比如1000)并且计算结果应该减少精度,比如保留小数点后面三位。2)数和字符数组之间的转化提取出来的操作数实际为字符序列,计算前我使用atof(定义在stdlib.h)转化为浮点数运算,同样的,运算结果要替换表达式中的字符序列也需要先转化为字符串

2、才行,我使用sprintf函数,该函数定义在stdio.h中字符串的连接使用了strcat(string.h)等函数。3)计算逻辑设pstr为计算表达式//先算乘除for(inti=1;i

3、过程类似为了代码简单,中途设计了几个计算函数doublejia(charx[],chary[]);//字符加法返回double的值doublejian(charx[],chary[]);//字符减法返回double的值doublecheng(charx[],chary[]);//字符乘法返回double的值doublechu(charx[],chary[]);//字符除法返回double的值doublexsd(charx[]);//字符检测是否有小数,返回double的值为了可以重复输入,开头使用了个dowhile,为了可以输入-1+2这种表达式,我设计了个判断,如果第一字符是+或-我给整体表

4、达式前加了个0字符这样就转化为一般的字符了!如果是*/则提示出错,别重新输入!二、程序主要代码#include#include//atof函数的头文件#include//sprintf函数的头文件#defineMAX255//宏定义常量#includedoublecmjia(charx[],chary[]);//声明函数doublecmjian(charx[],chary[]);doublecmcheng(charx[],chary[]);doublecmchu(charx[],chary[]);doubleco

5、mpute(charpstr[]);doublexsd(charx[]);//主函数voidmain(){do{doublet;//存储运算结果chara[]="0";charlinshi[MAX];//计算临时用的charbiaodashi[MAX];//用来存放表达式for(;;)//输入表达式{cout<<"请输入一个正确的数学表达式,形如7+8*6,按回车结束"<>biaodashi;if(biaodashi[0]=='*'

6、

7、biaodashi[0]=='/')cout<<"您输入的表达式有误,请重新输入"<

8、是提示错误别返回重新输入elsebreak;}if(biaodashi[0]=='-'

9、

10、biaodashi[0]=='+')//判断首字符是否为+-,如果是给字符前加字符0{strcat(a,biaodashi);strcpy(biaodashi,a);}strcpy(linshi,biaodashi);t=compute(linshi);//计算cout<<"运算结果是:"<

11、i=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。