多功能计算器的C语言实现(共5页).doc

上传人:飞****2 文档编号:15049617 上传时间:2022-05-10 格式:DOC 页数:5 大小:22.50KB
返回 下载 相关 举报
多功能计算器的C语言实现(共5页).doc_第1页
第1页 / 共5页
多功能计算器的C语言实现(共5页).doc_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《多功能计算器的C语言实现(共5页).doc》由会员分享,可在线阅读,更多相关《多功能计算器的C语言实现(共5页).doc(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上多功能计算器的C语言实现题目:设计一个多功能计算软件实现功能:具备整型数据、浮点型数据的算术(加、减、乘、除)运算功能。依次输入第一个运算数、运算符(+,-,*,/)、第二个运算数,然后输出结果。结果可以作为下一个运算的第一运算数。按C清屏,按R返回 菜单。例如:输入:2+5输出:7C语言实现:#include#include#include#define MaxLength 50void Show_screen()printf(#n);printf(#依次输入操作数1、运算符和操作数2,例如:2+5。 #n);printf(#按回车键显示运算结果,其可作为下一个输入

2、的操作数。#n);printf(#按键c清除屏幕,按键r返回菜单。 #n);printf(#n);double myadd(double x, double y)double sum;sum=x+y;if(sum-(int)sum=0)printf(%.0f,sum);elseprintf(%.6f,sum);return sum;double mysub(double x, double y)double sub;sub=x-y;if(sub-(int)sub=0)printf(%.0f,sub);elseprintf(%.6f,sub);return sub;double mymul(do

3、uble x, double y)double mul;mul=x*y;if(mul-(int)mul=0)printf(%.0f,mul);elseprintf(%.6f,mul);return mul;double mydiv(double x, double y)double div;div=x/y;if(div-(int)div=0)printf(%.0f,div);elseprintf(%.6f,div);return div;int main()int myoffset;int flag;/判断是否将上次计算结果作为下次运算操作数1的标志,是的话值为1。/只要不按+、-、*、/键,

4、表示不作为,否则,表示作为。char *check_add,*check_sub,*check_mul,*check_div;char myinputMaxLength;char tempxMaxLength,tempyMaxLength;static double res;/保存计算结果Show_screen();/暂不考虑字符串合法性及溢出while(scanf(%s,myinput)/printf(请输入运算表达式:n);check_add=strchr(myinput, +);check_sub=strchr(myinput,-);check_mul=strchr(myinput,*)

5、;check_div=strchr(myinput,/);/判断flagif(myinput0=+|myinput0=-|myinput0=*|myinput0=/)flag=1;elseflag=0;/调用清屏操作,Linux下有所不同if(myinput0=c|myinput0=C)system(clear);/Windows下使用下面一行代码/system(CLS);/返回菜单else if(myinput0=r|myinput0=R)Show_screen();/匹配加法else if(check_add)if(flag=0)myoffset=(unsigned int)check_a

6、dd-(unsigned int)myinput;strncpy(tempx,myinput,myoffset);strcpy(tempy,check_add+1);tempxmyoffset=0;tempystrlen(myinput)-myoffset-1=0;res=myadd(atof(tempx),atof(tempy);elsestrcpy(tempy,check_add+1);res=myadd(res,atof(tempy);else if(check_mul)if(flag=0)myoffset=(unsigned int)check_mul-(unsigned int)my

7、input;strncpy(tempx,myinput,myoffset);strcpy(tempy,check_mul+1);tempxmyoffset=0;tempystrlen(myinput)-myoffset-1=0;res=mymul(atof(tempx),atof(tempy);elsestrcpy(tempy,check_mul+1);res=mymul(res, atof(tempy);else if(check_div)if(flag=0)myoffset=(unsigned int)check_div-(unsigned int)myinput;strncpy(temp

8、x,myinput,myoffset);strcpy(tempy,check_div+1);tempxmyoffset=0;tempystrlen(myinput)-myoffset-1=0;res=mydiv(atof(tempx),atof(tempy);elsestrcpy(tempy,check_div+1);res=mydiv(res, atof(tempy);/考虑到负数的存在,减法最后判断else if(check_sub)if(flag=0)myoffset=(unsigned int)check_sub-(unsigned int)myinput;strncpy(tempx,myinput,myoffset);strcpy(tempy,check_sub+1);tempxmyoffset=0;tempystrlen(myinput)-myoffset-1=0;res=mysub(atof(tempx),atof(tempy);elsestrcpy(tempy,check_sub+1);res=mysub(res, atof(tempy);elseprintf(输入有误!程序将关闭!n);break;return 0;专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁