本文实例为大家分享了用C语言实现计算器功能的具体代码,供大家参考,具体内容如下
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
#include<stdio.h> //C语言编写计算器程序 ^_^ void Counter1( int a, int b, char op); //函数声明! void Counter2( double c, double d, char op); void Show_Sum1( int a, char op, int b, int sum); void Show_Sum2( double c, double d, char op, double sum); int Add( int a, int b); int Sub( int a, int b); int Mul( int a, int b); double Div( double a, double b); int main(){ int a=0,b=0; //初始化 double c=0.0,d=0.0; char op= '#' ; char ch= '#' ; int choi=0; do { printf ( "请输入数据:(想使用加法减法乘法功能输入1,使用除法功能输入2)\n" ); scanf ( "%d" ,&choi); if (choi==1){ printf ( "输入数据的格式:数值 运算符 数值\n" ); scanf ( "%d %c %d" ,&a,&op,&b); //别忘记取地址运算符!! fflush (stdin); //用来清理缓存区!(执行输入以'\n'代表输入结束,'\n'会留在缓存区,故应先清空缓存区以防ch接收到该字符而结束循环!) Counter1(a,b,op); } else if (choi==2){ printf ( "输入数据的格式:数值 运算符 数值\n" ); scanf ( "%lf %c %lf" ,&c,&op,&d); //别忘记取地址运算符!! fflush (stdin); //用来清理缓存区!(执行输入以'\n'代表输入结束,'\n'会留在缓存区,故应先清空缓存区以防ch接收到该字符而结束循环!) Counter2(c,d,op); } printf ( "是否继续?(Y/N):\n" ); ch= getchar (); //输入字符Y(y)或N(n) } while (ch== 'Y' ||ch== 'y' ); return 0; } void Counter1( int a, int b, char op){ int sum=0; int optag= true ; //以防分母为零(出现错误)或输入错误字符仍调用Show_Sum()函数进行输出。 switch (op){ case '+' :sum=Add(a,b); break ; case '-' :sum=Sub(a,b); break ; case '*' :sum=Mul(a,b); break ; default :{ printf ( "运算符错误!\n" ); optag= false ; break ; } } if (optag) Show_Sum1(a,op,b,sum); } void Counter2( double c, double d, char op){ double sum=0.0; int optag= true ; //以防分母为零(出现错误)或输入错误字符仍调用Show_Sum()函数进行输出。 switch (op){ case '/' :{ if (d==0){ optag= false ; printf ( "被除数为零,发生错误!\n" ); } else sum=Div(c,d); break ; } default :{ printf ( "运算符错误!\n" ); optag= false ; break ; } } if (optag) Show_Sum2(c,d,op,sum); } void Show_Sum1( int a, char op, int b, int sum){ printf ( "%d %c %d=%d" ,a,op,b,sum); //输出计算结果 } void Show_Sum2( double c, double d, char op, double sum){ printf ( "%.4f %c %.4f=%.4f" ,c,op,d,sum); } int Add( int a, int b){ return a+b; //加 } int Sub( int a, int b){ return a-b; //减 } int Mul( int a, int b){ return a*b; //乘 } double Div( double a, double b){ return a/b; //除 } |
ps:该注意的或容易出现问题的已经在代码区用注释标记了。
代码实现如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/m0_56194716/article/details/120870692