欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-07-02 16:45:25
利用运算符做为swich case 语句条件,实现简单程序的编写;并且对输入的运算做判断,除数为零也需做判断; ......

  利用运算符做为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 }