下载此文档

数据结构课程设计 实验报告(一)表达式求值(计算器).doc


文档分类:IT计算机 | 页数:约17页 举报非法文档有奖
1/17
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/17 下载此文档
文档列表 文档介绍
数据结构课程设计实验报告起止时间:-(计算器)设计小组成员及成绩分配班级:成员列表:编译系统、运行环境和已实现的功能:编译系统:VisualC++;运行环境:WindowsXP实现功能:(a)实数的加减乘除混合运算;(b)带括号运算;(c)乘方运算;(d)三角函数运算程序功能流程框图:三角函数计算退出实数的加减乘除混合运算计算器主要算法描述:(可以使用流程图或其它的算法描述方法)一、四则运算1、链栈实现括号和四则运算优先级2、输入并建立表达式,运用数组结构体构建将整型数字与操作符结合定义运算符的优先级。typedefstructyxj{charoperat;intrank;}yxj;3、分别建立一个操作数栈和操作符栈存放数字和操作符,定义操作符栈第一个元素优先级最低。4、自左向右扫描字符串遇到字符串中的数字时一律提取转换成double型存入操作数栈。遇到操作符时,则将当前运算符的优先级数与运算符栈顶元素的优先级数相比较。若当前运算符的优先级数大,则进栈;反之,则取出栈顶的运算符,并在数栈中连续取出两个栈顶元素作为运算对象进行运算,并将运算结果存入数栈,然后继续比较当前运算符与栈顶元素的优先级。直到当前运算符进栈。5、对比运算符进行+-*/()^运算。二、三角函数1、自左向右扫描字符串遇到字符串中的数字时提取转换成double型存入数栈。2、进行三角函数运算。测试实例与测试结果(输入数据与运行结果,以及执行结果的截屏):输入:10*(12+16)/2-15=输出:125执行结果:输入:5^5+6-10/2=输出:3126执行结果:1、输入:sin302、输出::1、输入:cos602、输出::输入:cos602、输出::测试实例与测试结果(输入数据与运行结果,以及执行结果的截屏):输入:tan45输出:1执行结果::设计过程中遇到的问题及解决办法:问题:算数表达式以字符串输入,操作数和操作符的提取;解决办法:两两操作符之间如有数字将中间的数字提取强制转换成double型;参考文献:(在设计中参考的书籍、网站等资料),《数据结构——C++语言描述》,清华大学出版社,2008年,页码:://download./detail/gszhouyi/738777指导老师评议:成绩评定:指导教师签名:附件:(程序源代码)#include<>#include<>#include<>#include<>#defineN100#{ charoperat; intrank;}yxj;typedefstructstr{ chardata[N];}zs;voidsjhs(void){ chars[10],a[10]; doubley,x; printf("请输入(sincostan角度制)表达式:\n"); scanf("%s",s); if(strstr(s,"sin")!=0) { inti=0,j=0; while(s[i]!='\0') { if(s[i]>='0'&&s[i]<='9') s[j++]=s[i]; i++; } s[j]='\0'; x=atof(s); y=sin(x*pai/180); } elseif(strstr(s,"cos")!=0) { inti=0,j=0; while(s[i]!='\0') { if(s[i]>='0'&&s[i]<='9') s[j++]=s[i]; i++; } s[j]='\0'; x=atof(s); y=cos(x*pai/180); } elseif(strstr(s,"tan")!=0) { inti=0,j=0; while(s[i]!='\0') { if(s[i]>='0'&&s[i]<='9') s[j++]=s[i]; i++; } s[j]='\0'; x=atof(s); y=tan(x*pai/180); } else { printf("格式错误\n"); return; } printf("%lf\n",y); printf("*****1、继续*****\n"); printf("*****0、返回上一层*****\n"); scanf("%s",a); if(strcmp(a,"0")==0) return; elseif(strcmp(a,"1")==0) sjhs(); else printf("没有该选项\n");}voidszys(yxjmark[]){ yxjos[N]; chara[10];

数据结构课程设计 实验报告(一)表达式求值(计算器) 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数17
  • 收藏数0 收藏
  • 顶次数0
  • 上传人hnxzy51
  • 文件大小87 KB
  • 时间2020-08-10