C语言制作简单计算器.docx

上传人:小飞机 文档编号:3155256 上传时间:2023-03-11 格式:DOCX 页数:5 大小:37.55KB
返回 下载 相关 举报
C语言制作简单计算器.docx_第1页
第1页 / 共5页
C语言制作简单计算器.docx_第2页
第2页 / 共5页
C语言制作简单计算器.docx_第3页
第3页 / 共5页
C语言制作简单计算器.docx_第4页
第4页 / 共5页
C语言制作简单计算器.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《C语言制作简单计算器.docx》由会员分享,可在线阅读,更多相关《C语言制作简单计算器.docx(5页珍藏版)》请在三一办公上搜索。

1、C语言制作简单计算器C语言制作简单计算器 一、项目介绍 我们要用c语言做一个简单的计算器,进行加、减、乘、除操作。本程序涉及的所有数学知识都很简单,但输入过程会增加复杂性。我们需要检查输入,确保用户没有要求计算机完成不可能的任务。还必须允许用户一次输入一个计算式,例如: 32.4+32 或者 9*3.2 项目效果图 编写这个程序的步骤如下: 获得用户要求计算机执行计算所需的输入。 检查输入,确保输入可以理解。 执行计算。 显示结果。 三、解决方案 1.步骤1 获得用户输入是很简单的,可以使用printf和scanf。下面是读取用户输入的程序代码: #includeint main double

2、 number1=0.0; /定义第一个操作值 double number2=0.0; /定义第二个操作值 char operation=0; /operation必须是+-*/或% printf(nEnter the calculationn); scanf(%lf%c%lf,&number1,&operation,&number2); return 0; 2.步骤2 接着,检查输入是否正确。最明显的检查是要执行的操作是否有效。有效的操作有+、-、*、/和%,所以需要检查输入的操作是否是其中的一个。 还需要检查第二个数字,如果操作是/或者%,第二个数字就不能是0。如果右操作数是0,这些操作就

3、是无效的。这些操作都可以用if语句来完成,switch语句则为此提供了一种更好的方式,因此它比一系列if语句更容易理解。 switch(operation) case +: printf(=%lfn,number1+number2); break; case -: printf(=%lfn,number1-number2); break; case *: printf(=%lfn,number1*number2); break; case /: if(number2=0) printf(nnaDavision by zero error!n); else printf(=%lfn,number

4、1/number2); break; case %: if(long)number2=0) printf(nnaDavision by zero error!n); else printf(=%ldn,(long)number1%(long)number2); break; default: printf(nnaDavision by zero error!n); break; 取余运算符对float或double类型是没有意义的,因为他们可以表示精确的结果。只有把%运算符应用于整数类型才 有意义。因此在应用这个运算符前,把操作数转换为整数。当运算符是%时,将第二个操作数转换为一个整数,所以仅

5、仅检查第二个操作数是否为0是不够的,还必 须检查number2在转换为long时,值是否为0.例如0.5不是0,但是转换为整数时就是0。 四、程序的完整代码 #includeint main double number1=0.0; double number2=0.0; char operation=0; printf(nEnter the calculationn); scanf(%lf%c%lf,&number1,&operation,&number2); switch(operation) case +: printf(=%lfn,number1+number2); break; cas

6、e -: printf(=%lfn,number1-number2); break; case *: printf(=%lfn,number1*number2); break; case /: if(number2=0) printf(nnaDavision by zero error!n); else printf(=%lfn,number1/number2); break; case %: if(long)number2=0) printf(nnaDavision by zero error!n); else printf(=%ldn,(long)number1%(long)number2); break; default: printf(nnaDavision by zero error!n); break; return 0; 如果有疑问或者想学习更多基础课和项目课的话,欢迎登陆实验楼官方网站:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号