本文实例为大家分享了用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