您的位置:首页 > 编程语言 > C语言/C++

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

2010-06-17 10:58 295 查看
昨天完成了简易计算器,能使用简单的四则运算。但是太过于简陋,我都不好意思使用。而且在使用一次后再想使用,就要再次使用就必须重新运行代码才行,所以这次要在后面加上一定的改进。
如果说上个计算器中运行四则运算那部分是一个过程,那么,我们只需要在后边再次设置一个选择函数,然后通过用户的选择来决定继续还是退出。那么这样才能真正意思的算是一个简易计算器。
我在后边仍然使用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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐