用c语言编写的可以计算+-*/的计算器

本文分享了一款使用C语言编写的计算器程序,该计算器能够处理含括号、小数及负数的计算。程序分为5个文件实现,并在VC++6.0环境下编写。作者提供了可执行程序的下载链接,并欢迎大家提出优化建议和指正。
摘要由CSDN通过智能技术生成

写了一个计算器程序,想分享给大家;同时写到最后感觉有点凌乱,希望各位帮忙给优化下,共同提高。这个计算器可以计算输入的字符串,字符串中可以含括号,可以是小数,也可以包含负数。此程序被拆分在5个文件中,我按文件一一罗列吧:

编写环境:VC++6.0。

第一个main函数所在文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
int  main()
{
     char  *s1;
     int  i;
     double  c;
     double  calc( char  *s);
     int  brk( char  *st);
     while (1)
     {
         s1=( char  *) malloc (50);    //为s1分配地址和空间。
         scanf ( "%s" ,s1);           //输入并得到s1字符串。
         i=brk(s1);                //执行所有"()"中的计算式。
         c=calc(s1);               //计算最后的不带"()"的s1。
         printf ( "%g\n" ,c);         //输出最后结果。
         printf ( "--------Press Up/Down Arorw or Begain Next Input:\n" );    
         //提示执行下一次运算。
         free (s1);     //释放s1内存空间。
     }
}


第二个函数文件:

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
89
90
91
92
93
94
95
96
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
double  calc( char  *s)    //把s拆解成double型数组和保存操作符的字符型数组,
{                       //并利用两个数组计算结果。
     int  i=0,j=0,k=0,num=1,end=0,sub=0;     //num、end、sub为开关标识。
     double  *sn;
     char  *sc,*sp;
     void  mathc( double  *a, char  *s);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值