c语言实现函数计算器,c语言函数计算器报告

用c语言编写计算器

#include stdio.h

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、虚拟主机、营销软件、网站建设、通州网站维护、网站推广。

struct s_node

{

int data;

struct s_node *next;

};

typedef struct s_node s_list;

typedef s_list *link;

link operator=NULL;

link operand=NULL;

link push(link stack,int value)

{

link newnode;

newnode=(link) malloc(sizeof(s_list));

if(!newnode)

{

printf("\nMemory allocation failure!!!");

return NULL;

}

newnode-data=value;

newnode-next=stack;

stack=newnode;

return stack;

}

link pop(link stack,int *value)

{

link top;

if(stack !=NULL)

{

top=stack;

stack=stack-next;

*value=top-data;

free(top);

return stack;

}

else

*value=-1;

}

int empty(link stack)

{

if(stack==NULL)

return 1;

else

return 0;

}

int is_operator(char operator)

{

switch (operator)

{

case '+': case '-': case '*': case '/': return 1;

default:return 0;

}

}

int priority(char operator)

{

switch(operator)

{

case '+': case '-' : return 1;

case '*': case '/' : return 2;

default: return 0;

}

}

int two_result(int operator,int operand1,int operand2)

{

switch(operator)

{

case '+':return(operand2+operand1);

case '-':return(operand2-operand1);

case '*':return(operand2*operand1);

case '/':return(operand2/operand1);

}

}

void main()

{

char expression[50];

int position=0;

int op=0;

int operand1=0;

int operand2=0;

int evaluate=0;

printf("\nPlease input the inorder expression:");

gets(expression);

while(expression[position]!='\0'expression[position]!='\n')

{

if(is_operator(expression[position]))

{

if(!empty(operator))

while(priority(expression[position])= priority(operator-data)

!empty(operator))

{

operand=pop(operand,operand1);

operand=pop(operand,operand2);

operator=pop(operator,op);

operand=push(operand,two_result(op,operand1,operand2));

}

operator=push(operator,expression[position]);

}

else

operand=push(operand,expression[position]-48);

position++;

}

while(!empty(operator))

{

operator=pop(operator,op);

operand=pop(operand,operand1);

operand=pop(operand,operand2);

operand=push(operand,two_result(op,operand1,operand2));

}

operand=pop(operand,evaluate);

printf("The expression [%s] result is '%d' ",expression,evaluate);

getch();

}

编写函数实现简易计算器的功能(C语言)

#include

void

main()

{

float

a,b;

char

d;

do

{

printf("Please

enter

the

two

Numbers,

separated

by

Spaces:\n");

scanf("%f

%f",a,b);

printf("Please

select

operation

way:

(-,*,/,^,s,!)\n");

scanf("%s",d);

switch(d)

{

case'+':

printf("a+b=%f\n",a+b);

break;

case'-':

printf("a-b=%f\n",a-b);

break;

case'*':

printf("a*b=%f\n",a*b);

break;

case'/':

printf("a/b=%f\n",a/b);

break;

default:

printf("input

error\n");

}

printf("Do

you

want

to

continue(Y/N

or

y/n)");

fflush(stdin);

}

while(toupper(getchar())=='Y');

}

可以运行,不知道满不满足你的要求,你自己可以试试

用C语言设计并实现一个简单计算器

额,搞定了。

你交给老师的时候,你要告诉他for循环的功能,for()循环体里也就是for下方{}大括号里的代码要被循环执行。然后你就一行一行的解释 switch()里的语句就行了。

break表示跳出switch()。

至于int a,b,i; 这些你肯定懂了的吧。

最后那里表示在主函数 main()里调用自定义的函数

#include stdio.h

int calculator()  //定义一个函数。完成计算功能

{

int a,b, i;

char c;

for(i=0;;i++)

{

printf("请输入所要计算的两个数,以及所要执行的计算符号\n");

scanf("%d %d %c", a,b,c);

switch (c)

{

case '+':

printf("所要计算的式子:%d+%d\n",a,b);

a = a + b;printf("计算结果为:%d\n\n",a);

break;

case '-':

 printf("所要计算的式子:%d-%d\n",a,b);

a = a - b;printf("计算结果为:%d\n\n",a);

break;

case '*':

 printf("所要计算的式子:%d*%d\n",a,b);

a = a * b;printf("所要计算的式子:%d*%d\n",a,b);printf("计算结果为:%d\n\n",a);

break;

case '/':

 printf("所要计算的式子:%d/%d\n",a,b);

a = a / b;printf("所要计算的式子:%d/%d\n",a,b);printf("计算结果为:%d\n\n",a);

break;

}

}

}

int main()

{

calculator();//在main()函数里调用自定义的函数 calculator

}

c语言编写计算器程序

C语言编写计算器

我们可以用printf和scanf函数输出结果和获取用户的输入。需要stdio.h头文件。scanf函数在读取数据的时候不需要再一行上输入每个数据,只要数据和数据之间留出空白就可以了。先声明两个变量number1和number2,operation变量用来存储运算符。用scanf函数获取这两个数字和运算符。分别用%lf %c %lf

请点击输入图片描述

然后需要检测输入是否是正确的,检查是不是+ - * / %,在这里要用到switch函数,用来看operation变量是否别传入了正确的值。

switch(operation)

{

case '+':

printf........

}

具体的运算我们只需要再case之后的printf语句中设定和输出就可以了。

请点击输入图片描述

由于除法和取余运算比较特殊,我们单独说明。除法的除数不能为零,所以除法需要检测除数是否为零,只需要用if else语句就可以,if(number2 == ),取余运算符对于浮点数没有意义,所以将浮点数转换为long类型,强制类型转换,if((long)number2 == 0)   else ,这样整个代码就完成了。

请点击输入图片描述

简单计算器的编辑并不难,但是要注意一些细节,除法的处理要注意除数不能为零的情况,而且取模运算要将两个操作数转化为整型,当然,作为真正的计算器,只实现这些功能是不够的,还需要更多的功能,不过有一个好的开始也不错。

下面我们就运行一下这个程序吧。25*13的值和8%5的值。可以看到是我们期望的值。

请点击输入图片描述

请点击输入图片描述

用c语言设计一个简单的加减乘除计算器 具体需要这样做

1、打开visual C++ 6.0-文件-新建-文件-C++ Source File。

2、输入预处理命令和主函数:#include /*函数头:输入输出头文件*/,void main()/*空类型:主函数*/。

3、定义变量:int a,b,d; /*定义变量的数据类型为整型*/,char c;/*定义变量的数据类型为字符型*/。

4、输入四则运算式:printf(输入如“3*4”或“5+2”的四则运算式:);/*输出文字提示*/scanf(%d%c%d,a,c,b);/*输入四则运算式*/。

5、判断运算符号:switch(c) /*判断运算符号*/{case'+':d=a+b;break;/*进行加法6、运算*/case'-':d=a-b;break;/*进行减法运算*/case'*':d=a*b;break;/*进行乘法运算*/case'/':d=a/b;break; /*进行除法运算*/}。

7、输出结果:printf(%d%c%d=%d\n,a,c,b,d);/*输出结果*/。


当前名称:c语言实现函数计算器,c语言函数计算器报告
网站链接:http://bzwzjz.com/article/hddehi.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 高端网站设计 定制网站设计 成都网站建设 成都网站建设推广 重庆企业网站建设 成都网站建设 古蔺网站建设 成都网站设计 网站建设 重庆手机网站建设 阿坝网站设计 高端定制网站设计 成都网站建设 成都网站建设公司 企业网站制作 企业网站设计 重庆网站建设 高端网站设计推广 网站制作 成都品牌网站设计 成都网站建设公司 成都网站建设