趣味C—改进C语言编写简易计算器的思路和过程

昨天完成了简易计算器,能使用简单的四则运算。但是太过于简陋,我都不好意思使用。而且在使用一次后再想使用,就要再次使用就必须重新运行代码才行,所以这次要在后面加上一定的改进。
如果说上个计算器中运行四则运算那部分是一个过程,那么,我们只需要在后边再次设置一个选择函数,然后通过用户的选择来决定继续还是退出。那么这样才能真正意思的算是一个简易计算器。
我在后边仍然使用SWITCH语句,在前边再定义两个变量,这样就能完成一个循环,如下:
#include <stdio.h>
main(void)
{
int a,b,sun,sum,d,k;
char c,e;
printf("input numeber/n");
scanf("%d%c%d",&a,&c,&b);
switch(c)
{
case'+':{sun=a+b;printf("Results is:%dou",sun/n);}break;
case'-':{sun=a-b;printf("Results is:%d",sun/n);}break;
case'*':{sun=a*b;printf("Results is:%d",sun/n);}break;
case'/':{sun=a/b;printf("Results is:%d",sun/n);}break;
}
printf("If you want contnue,please input 1,/nIf you want comeback,please input2./n");
scanf("%d",&d);
switch(d)
{
case 1: {
sum=sun;printf("please input number/n");scanf("%d%c",&k,&e);
switch(e)
{
case'+':{sum=sun+k;printf("Results is:%d",sum);}break;
case'-':{sum=sun-k;printf("Results is:%d",sum);}break;
case'*':{sum=sun*k;printf("Results is:%d",sum);}break;
case'/':{sum=sun/k;printf("Results is:%d",sum);}break;
}
}
case 2:{return 1;}
}
return 0;
}
这样的话,你就能通过选这1,2来决定继续计算还是退出,这个简易的计算器也就完成了。
如果再往下想,一个真正的计算器,不可能只有简易的四则运算,接下来还有很大的空间去提升,接下来的计划是能叫这个计算器的运算更完美,继续努力。

来自:一尺之地的博客
http://blog.sina.com.cn/yangbo2125165

 

 

 

改:

#include "stdafx.h"
#include <stdio.h>

int main(int argc, char* argv[])
{
 int a,b,sun,sum,d,k;
 char c,e;
 printf("input numeber/n");
 scanf("%d%c%d",&a,&c,&b);
 switch(c)
 {
 case'+':{sun=a+b;printf("Results is:%dou/n",sun);}break;
 case'-':{sun=a-b;printf("Results is:%d/n",sun);}break;
 case'*':{sun=a*b;printf("Results is:%d/n",sun);}break;
 case'/':{sun=a/b;printf("Results is:%d/n",sun);}break;
 }
 printf("If you want contnue,please input 1,/nIf you want comeback,please input2./n");
 scanf("%d",&d);
 switch(d)
 {
 case 1: {
 sum=sun;
  puts("input operation:/n");
  getchar();
  e=getchar();
  puts("input k:/n");
  scanf("%d",&k);
 
  switch(e)
  {
  case'+':{sum=sun+k;printf("Results is:%d/n",sum);}break;
  case'-':{sum=sun-k;printf("Results is:%d/n",sum);}break;
  case'*':{sum=sun*k;printf("Results is:%d/n",sum);}break;
  case'/':{sum=sun/k;printf("Results is:%d/n",sum);}break;
  }
   }
 case 2:{return 1;}
 }
 return 0;

}

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值