欢迎来到天天文库
浏览记录
ID:8963231
大小:45.50 KB
页数:4页
时间:2018-04-13
《c语言制作简单计算器》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、C语言制作简单计算器一、项目介绍我们要用c语言做一个简单的计算器,进行加、减、乘、除操作。本程序涉及的所有数学知识都很简单,但输入过程会增加复杂性。我们需要检查输入,确保用户没有要求计算机完成不可能的任务。还必须允许用户一次输入一个计算式,例如:32.4+32或者9*3.2项目效果图编写这个程序的步骤如下:·获得用户要求计算机执行计算所需的输入。·检查输入,确保输入可以理解。·执行计算。·显示结果。三、解决方案1.步骤1获得用户输入是很简单的,可以使用printf()和scanf()。下面是读取用户输入的程序代码:#includein
2、tmain(){ doublenumber1=0.0;//定义第一个操作值 doublenumber2=0.0;//定义第二个操作值 charoperation=0;//operation必须是'+''-''*''/'或'%' printf("Enterthecalculation"); scanf("%lf%c%lf",&number1,&operation,&number2); return0; }2.步骤2接着,检查输入是否正确。最明显的检查是要执行的操作是否有效。有效的操作有+、-、*、/和%,所以需要检查输入的操作是否是其中的一个
3、。还需要检查第二个数字,如果操作是/或者%,第二个数字就不能是0。如果右操作数是0,这些操作就是无效的。这些操作都可以用if语句来完成,switch语句则为此提供了一种更好的方式,因此它比一系列if语句更容易理解。switch(operation) { case'+': printf("=%lf",number1+number2); break; case'-': printf("=%lf",number1-number2); break; case'*': printf("=%lf",number1*number2); break;
4、 case'/': if(number2==0) printf("aDavisionbyzeroerror!"); else printf("=%lf",number1/number2); break; case'%': if((long)number2==0) printf("aDavisionbyzeroerror!"); else printf("=%ld",(long)number1%(long)number2); break; default: printf("aDavisionbyzeroe
5、rror!"); break;取余运算符对float或double类型是没有意义的,因为他们可以表示精确的结果。只有把%运算符应用于整数类型才有意义。因此在应用这个运算符前,把操作数转换为整数。当运算符是%时,将第二个操作数转换为一个整数,所以仅仅检查第二个操作数是否为0是不够的,还必须检查number2在转换为long时,值是否为0.例如0.5不是0,但是转换为整数时就是0。四、程序的完整代码#includeintmain(){ doublenumber1=0.0; doublenumber2=0.0; charoperatio
6、n=0; printf("Enterthecalculation"); scanf("%lf%c%lf",&number1,&operation,&number2); switch(operation) { case'+': printf("=%lf",number1+number2); break; case'-': printf("=%lf",number1-number2); break; case'*': printf("=%lf",number1*number2); break; case'/': if(numb
7、er2==0) printf("aDavisionbyzeroerror!"); else printf("=%lf",number1/number2); break; case'%': if((long)number2==0) printf("aDavisionbyzeroerror!"); else printf("=%ld",(long)number1%(long)number2); break; default: printf("aDavisionbyzeroerror!"); break;
8、 } return0; }如果有疑问或者想学习更多基础课和项目课的话,欢迎登陆实验楼官方网
此文档下载收益归作者所有