免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
多功能计算器的C语言实现题目:设计一个多功能计算软件实现功能:具备整型数据、浮点型数据的算术(加、减、乘、除)运算功能。依次输入第一个运算数、运算符(+,-,*,/)、第二个运算数,然后输出结果。结果可以作为下一个运算的第一运算数。按C清屏,按R返回 菜单。例如:输入:2+5输出:7C语言实现:#include#include#include#define MaxLength 50void Show_screen()printf(#n);printf(#依次输入操作数1、运算符和操作数2,例如:2+5。 #n);printf(#按回车键显示运算结果,其可作为下一个输入的操作数。#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(double 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。/只要不按+、-、*、/键,表示不作为,否则,表示作为。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,*);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_add-(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)myinput;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(tempx,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;r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026内蒙古聚英人力资源服务有限责任公司定向招聘劳务外包(公路养护方向)人员20人备考题库及完整答案详解
- 2026四川九洲电器集团有限责任公司招聘天线测试工程师1人备考题库及答案详解(夺冠系列)
- 2026中国电信股份有限公司亳州分公司外包岗位招聘2人备考题库(安徽)及答案详解(夺冠系列)
- 2026江西南昌市昌南学校招聘派遣制教师1人备考题库完整答案详解
- 2026广东广州中医药大学第三附属医院招聘备考题库(第二批)及答案详解(夺冠系列)
- 2026年济宁曲阜市教育系统急需紧缺人才招聘备考题库(10名)及1套完整答案详解
- 2025年甘肃省兰州市安宁区水挂庄小学招聘教师备考题库及答案详解(新)
- 2026浙江宁波市江北区面向高校毕业生招聘高层次和紧缺人才13人备考题库及完整答案详解一套
- 2026四川德阳市什邡市人民医院招聘临床护士、药房药师、康复技师4人备考题库完整参考答案详解
- 2025年福建莆田市城厢区交通运输局非在编工作人员招聘1人备考题库及答案详解(考点梳理)
- 石子厂规范管理制度
- 大数据驱动下的尘肺病发病趋势预测模型
- 成都2025年四川成都市新津区招聘卫生专业技术人才21人笔试历年参考题库附带答案详解
- 2026届广东省高考英语听说考试备考技巧讲义
- 炎德英才大联考雅礼中学2026届高三月考试卷英语(五)(含答案)
- 2026年经营人员安全生产责任制范文
- 2026年及未来5年中国锻造件行业市场深度分析及发展前景预测报告
- 2026年及未来5年市场数据中国大型铸锻件行业市场深度分析及投资战略数据分析研究报告
- 林草湿地生态调查监测技术探索
- 儿科2025年终工作总结及2026年工作计划汇报
- 2025赤峰市敖汉旗就业服务中心招聘第一批公益性岗位人员112人(公共基础知识)测试题附答案解析
评论
0/150
提交评论