设为首页 加入收藏

TOP

C语言实现简单的计算器(加、减、乘、除)
2019-05-23 14:34:33 】 浏览:61
Tags:语言 实现 简单 计算器

  利用运算符做为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语言----输入输出语句(基础篇二.. 下一篇C语言指针详解

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目