【原创源码】初学C语言几天,写了个简单计算器.附源码!
本帖最后由 奋斗丶小Z 于 2015-12-18 19:23 编辑在这里发帖不知道算不算违规,刚进论坛没多少天.闲余时间就学C语言.这是这几天的学习成果.很简单.还望各位大大指点..switch好像也能实现!
源码在这里
#include <stdio.h>
int js(void);
int main()
{
js();
return 0;
}
int js(void)
{
printf("[----------------------------------------]\n");
printf("[----------------计算器------------------]\n");
printf("[-----------CTRL+C结束计算器-------------]\n");
int a,b,he;
char yun;
printf("\n");
printf("请输入算式,例如(1+1 1*1 8/2 8-1):");
scanf("%d%c%d",&a,&yun,&b);
if(yun=='+'){
he=a+b;
}else if(yun=='-'){
he=a-b;
}else if(yun=='*'){
he=a*b;
}else if(yun=='/') {
he=a/b;
}
printf("\n");
printf("计算结果为:");
printf("%d%c%d=%d\n",a,yun,b,he);
printf("\n");
main();
}
我自己写的。。可以二次使用。。比如我要连续计算如1+2-3/5的话只需输入原式就可以,最后输入=
就会输出结果。
#include<stdio.h>
//前置声明
floataddition(float);
floatsubtraction(float);
floatmultipliction(float);
floatdivision(float);
intmain(void)
{
floati;
charq;
printf("\t 欢迎使用!\t\n");
scanf("%f",&i);
do
{
scanf(" %c",&q);
if('+'==q)
i=addition(i);
elseif('-'==q)
i=subtraction(i);
elseif('*'==q)
i=multipliction(i);
elseif('/'==q)
i=division(i);
}while('='!=q);
printf("计算结果为:%f\n",i);
return0;
}
floataddition(floatx)
{
floatm=0;
scanf("%f",&m);
x=x+m;
returnx;
}
floatsubtraction(floatx)
{
floatm;
scanf("%f",&m);
x=x-m;
returnx;
}
floatmultipliction(floatx)
{
floatm;
scanf("%f",&m);
x=x*m;
returnx;
}
floatdivision(floatx)
{
floatm;
scanf("%f",&m);
x=x/m;
returnx;
} int a,b;
char i;
scanf("%d%c%d",&a,&i,&b);
switch(i)
{
case '+':
printf("%d",a+b);break;
case '-':
printf("%d",a-b);break;
case '*':
printf("%d",a*b); break;
case '/':
printf("%d",a/b);break;
default:
printf("其他运算");break;
}
想起在学校的日子了
加点进制转换,错误检查功能。 gomyway 发表于 2015-12-18 16:36
加点进制转换,错误检查功能。
比如变量A和B只能输入0-9数字!yun变量只能输入+,-,*,/.
然后其他输出都提示错误返回从新输入! 用switch 有没有更好 if(yun=='+'){
he=a+b;
}else if(yun=='-'){
he=a-b;
}else if(yun=='*'){
he=a*b;
}else if(yun=='/') {
he=a/b;
}
else
{
printf("//不被支持的运算符");
return 0;
}
我傻叉了。今天辞职,一份别人看起来都说不错的工作,回家对着电脑发呆,找所谓的项目。哎,易语言难学么,我看到有个大神能靠这赚不少钱 简单了点~~ #include <stdio.h>
int main()
{int a,b;char f;
while (scanf("%d%c%d%*c",&a,&f,&b)!=EOF)
{
switch(f)
{
case '+':printf("%d\n",a+b);break;
case '-':printf("%d\n",a-b);break;
case '*':printf("%d\n",a*b);break;
case '/':printf("%d\n",a/b);break;
default :printf("不支持此运算符!\n");
}
}
return 0;
}
你忘了添加一个除数不能为0