首页 > 编程语言 > 详细

C语言实现简单的计算器(加、减、乘、除)

时间:2019-05-07 20:44:16      阅读:169      评论:0      收藏:0      [点我收藏+]

  利用运算符做为swich  case 语句条件,实现简单程序的编写;并且对输入的运算做判断,除数为零也需做判断;

 1 #include<stdio.h>
 2 
 3 int add(int a, int b);
 4 int sub(int a, int b);
 5 int mul(int a, int b);
 6 int div(int a, int b);
 7 
 8 
 9 int main(int argc, const char *argv[])
10 {
11     /*
12     * 定义接收变量,运算字符;
13     */
14     int a,b,d;
15     char ch;
16     
17     /*
18     * 赋初值
19     */
20     a = 0;
21     b = 0;
22     ch = 0;
23     
24 
25     /*
26     * 控制台输入运算变量,运算符;
27     */
28     printf("请输入需要计算的数及运算符;格式如:‘num1 +-x/ num2‘ \n");
29     scanf("%d%c%d",&a,&ch,&b);
30         
31     /*
32     * 输入数据判断
33     */
34     while((ch != +)&&(ch != -)&&(ch != *)&&(ch != /))
35     {        
36         //fflush(stdin);此种清空缓冲区无效
37         setbuf(stdin,NULL);
38         printf("输入运算符有误,请重新输入:\n");
39         scanf("%c",&ch);        
40     }
41     
42     /*
43     * 除数为0做判断
44     */
45     if((ch == /)&&(b==0))
46     {
47         setbuf(stdin,NULL);
48         printf("除数不能为0,请重新输入:\n");
49         scanf("%d",&b);    
50     }
51     
52     
53     /*
54     * 识别不同运算字符,做不同的运算;
55     */
56     switch(ch)
57     {
58         case +:
59             printf("%d+%d=%d\n",a,b,add(a,b));
60             break;
61         case -:
62             printf("%d-%d=%d\n",a,b,sub(a,b));
63             break;
64         case *:
65             printf("%d*%d=%d\n",a,b,mul(a,b));
66             break;
67         case /:
68             printf("%d/%d=%d\n",a,b,div(a,b));
69             break;
70         default:
71             printf("Error\n");
72     }        
73     
74     return 0;
75 }
76 
77 /*
78 * 定义运算函数
79 */
80 int add(int a, int b)
81 {
82     return a+b;
83 }
84 
85 int sub(int a, int b)
86 {
87     return a-b;
88 }
89 
90 int mul(int a, int b)
91 {
92     return a*b;
93 }
94 
95 int div(int a, int b)
96 {
97     return a/b;
98 }

 

C语言实现简单的计算器(加、减、乘、除)

原文:https://www.cnblogs.com/kai-liu/p/10827763.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!