C++课程设计(计算器)报告

C++课程设计(计算器)报告

ID:39547158

大小:266.50 KB

页数:17页

时间:2019-07-06

C++课程设计(计算器)报告_第1页
C++课程设计(计算器)报告_第2页
C++课程设计(计算器)报告_第3页
C++课程设计(计算器)报告_第4页
C++课程设计(计算器)报告_第5页
资源描述:

《C++课程设计(计算器)报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、课程设计报告VisualC++课程设计题目:计算器题目:计算器1.程序功能简介实现计算器功能。用户根据程序提示,输入数字,选择要进行的运算,可以进行加,减,乘,除,开方、温度单位的换算。2.课程设计要求(1)完善计算器程序,改写成可对实数操作。(2)完善程序,改为多个操作数基本四则运算,遇到0为止(3)增加函数、完成四则混合运算,注意算法要考虑优先级,对应增加主菜单选项。(4)添加语句,使四则运算具有测试功能,即计算器出题目,并要求用户计算,同时计算机判断用户对错并打分,要求十题为一个单元,加减运算时最高为两位数运算,乘除法为两位数乘一位数,除法

2、是两位数或三位数除以一位数,且没有余数。3.设计思路将原函数的int型数据改为float型数据。仿照类设计四则混合运算的程序,四则混合运算的分函数主要有doubleeval_exp(char*exp);//运算四则运算表达式的主函数,返回结果、voidoopcalc::sizeyunsuan();//四则运算调用的主函数、doubleoopcalc::eval_exp(char*exp)//计算表达式函数并返回结果、get_token();//取表达式函数等。利用类的结构编写一个voidtest()//测试函数,并给出选项选择测试的内容。并参考资

3、料改写随机数生成器源代码,使之符合类的结构能够被调用,添加有关头文件。4.程序结构图开始输入选择加法运算除法运算乘法运算四则预算减法运算华氏转摄氏摄氏转华氏测试退出13294652708求方根结束加法测试减法测试除法测试乘法测试105.添加的主要函数代码添加四则运算主要代码oopcalc::parser(){exp_ptr=NULL;}//将exp_prt赋值为空指针doubleoopcalc::eval_exp(char*exp)//计算表达式函数并返回结果{doubleresult;exp_ptr=exp;//将指针指向表达式get_toke

4、n();//取表达式函数if(!*token)//取得链表为空时,显示错误警告,并返回0值{serror(2);return0.0;}eval_exp2(result);if(*token)serror(0);returnresult;}voidoopcalc::eval_exp2(double&result)//识别加减符号{registercharop;doubletemp;eval_exp3(result);while((op=*token)=='+'

5、

6、op=='-')//判断指针指向的符号{get_token();eval_exp3(t

7、emp);switch(op)//通过switch语句实现判断{case'-':result=result-temp;break;case'+':result=result+temp;break;}}}voidoopcalc::eval_exp3(double&result)//识别乘除号与百分号,方法同加减号{registercharop;doubletemp;eval_exp4(result);while((op=*token)=='*'

8、

9、op=='/'

10、

11、op=='%'){get_token();eval_exp4(temp);switc

12、h(op){case'*':result=result*temp;break;case'/':result=result/temp;break;case'%':result=(int)result%(int)temp;break;}}}voidoopcalc::eval_exp4(double&result){doubletemp,ex;registerintt;eval_exp5(result);if(*token=='^'){get_token();eval_exp4(temp);ex=result;if(temp==0.0){result=

13、1.0;return;}for(t=(int)temp-1;t>0;--t)result=result*(double)ex;}}voidoopcalc::eval_exp5(double&result){registercharop;op=0;if((tok_type==DELIMITER)&&*token=='+'

14、

15、*token=='-'){op=*token;get_token();}eval_exp6(result);if(op=='-')result=-result;}voidoopcalc::eval_exp6(double&res

16、ult){if((*token=='(')){get_token();eval_exp2(result);if(*token!=')')

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

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

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