admin 管理员组文章数量: 1086019
2024年4月26日发(作者:贪吃蛇程序任务)
C语言制作简单计算器
一、项目介绍
我们要用c语言做一个简单的计算器,进行加、减、乘、除操作。本程序涉及的
所有数学知识都很简单,但输入过程会增加复杂性。我们需要检查输入,确保用
户没有要求计算机完成不可能的任务。还必须允许用户一次输入一个计算式,例
如: 32.4+32 或者 9*3.2
项目效果图
编写这个程序的步骤如下:
获得用户要求计算机执行计算所需的输入。
检查输入,确保输入可以理解。
执行计算。
显示结果。
三、解决方案
1.步骤1
获得用户输入是很简单的,可以使用printf()和scanf()。下面是读取用户输入的
程序代码:
#include
{
double
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,这些操作就是无效的。这些操作都可以用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",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
;
取余运算符对float或double类型是没有意义的,因为他们可以表示精确的结果。
只有把%运算符应用于整数类型才 有意义。因此在应用这个运算符前,把操作
数转换为整数。当运算符是%时,将第二个操作数转换为一个整数,所以仅仅检
查第二个操作数是否为0是不够的,还必 须检查number2在转换为long时,值
是否为0.例如0.5不是0,但是转换为整数时就是0。
四、程序的完整代码
#include
{
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
;
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",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
;
}
如果有疑问或者想学习更多基础课和项目课的话,欢迎登陆实验楼官
方网站:
版权声明:本文标题:C语言制作简单计算器 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1714104093a665845.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论