C语言设计计算器,恳请各位大佬帮忙

在一个教学软件中,需要设计一个计算器,功能如下:使用者在键盘上输入一个算术表达式(如45+54+54-23=),请编写一个程序分析该输入串,并计算其算术值。
要求:本题只考虑加法和减法,数值为整数,且不考虑串中可能出现的空格等字符; 整个算术表达式要作为一个字符串来处理

写一个很简单的吧; 我写Java的 c你看着来吧

String str ="45+54+54-23" //输入的字符串,这里就直接定义了
int result = 0; //结果

for(int i=0;i<str.length;i++){
String a = 0; //接收数
switch (str.charAt(i)) {
case '1':
a +="1";
break;
case '2':
a +="2";
break;
case '3':
a +="3";
break;
case '4':
a +="4";
break;
case '5':
a +="5";
break;
case '6':
a +="6";
break;
case '7':
a +="7";
break;
case '8':
a +="8";
break;
case '9':
a +="9";
break;
case '0':
a +="0";
break;
case '+':
result +=a;
a=0;
break;
case '-':
result = result-a;
break;
case '=':
System.out.print(str+result)
break;
}
}

#include
#include
void c()
{
char ch;
while((ch=getchar())!='\n'&&ch!=EOF);
}
int main()
{
int i,j,num;
char buf[BUFSIZ];
char *p=buf;
while(1)
{
printf("input expression:");
scanf("%s",buf);
c();
num=i=atoi(buf);
while(*p)
{
if(*p=='+'||*p=='-')
{
j=atoi(p+1);
if(*p=='+')
num+=j;
else
num-=j;
}

        p++;
    }
    printf("num is %d\n",num);
}
return 0;

}

http://blog.csdn.net/zh3201/article/details/54619271