c语言简易计算器代码
Ⅰ 用c语言编写一个简单计算器程序
#include<stdio.h>//计算器
voidmenu()//自定义的菜单界面
{
printf("--------------------\n");
printf("请输入你的选择\n");
printf("1.+\n");
printf("2.-\n");
printf("3.*\n");
printf("4./\n");
printf("--------------------\n");
}
intmain()
{
inti=0;
intj=0;
intnum=0;//计算结果存放在nun
intselect=0;//选择的选项存放在select
do//do-while先执行再判断循环条件,即可实现重复计算功能
{
menu();//打印出菜单界面
scanf("%d",&select);//输入你的选项
printf("请输入计算值:");
scanf("%d%d",&i,&j);//输入要计算的数值
switch(select)
{
case1:
printf("%d+%d=%d\n",i,j,num=i+j);//实现加法功能
break;
case2:
printf("%d-%d=%d\n",i,j,num=i-j);//实现减法功能
break;
case3:
printf("%d*%d=%d\n",i,j,num=i*j);//实现乘法功能
break;
case4:
printf("%d-%d=%d\n",i,j,num=i/j);//实现除法功能
break;
default:
printf("输入有误重新选择");
break;
}
}while(select);
return0;
}
运行结果:
(1)c语言简易计算器代码扩展阅读:
return表示把程序流程从被调函数转向主调函数并把表达式的值带回主调函数,实现函数值的返回,返回时可附带一个返回值,由return后面的参数指定。
return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。
Ⅱ 用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<stdio.h>
voidmain(){floatx,y,z;charc;
scanf("%f%c%f",&x,&c,&y);
switch(c){
case'+':z=x+y;break;
case'-':z=x-y;break;
case'*':z=x*y;break;
case'/':z=(y==0)?(0):(x/y);break;
default:z=0;break;
}
printf("%f%c%f=%f ",x,c,y,z);
}
Ⅳ c语言设计一个简单的计算器程序
#include<stdio.h>//计算器
voidmenu()//自定义的菜单界面
{
printf("--------------------\n");
printf("请输入你的选择\n");
printf("1.+\n");
printf("2.-\n");
printf("3.*\n");
printf("4./\n");
printf("--------------------\n");
}
intmain()
{
inti=0;
intj=0;
intnum=0;//计算结果存放在nun
intselect=0;//选择的选项存放在select
do//do-while先执行再判断循环条件,即可实现重复计算功能
{
menu();//打印出菜单界面
scanf("%d",&select);//输入你的选项
printf("请输入计算值:");
scanf("%d%d",&i,&j);//输入要计算的数值
switch(select)
{
case1:
printf("%d+%d=%d\n",i,j,num=i+j);//实现加法功能
break;
case2:
printf("%d-%d=%d\n",i,j,num=i-j);//实现减法功能
break;
case3:
printf("%d*%d=%d\n",i,j,num=i*j);//实现乘法功能
break;
case4:
printf("%d-%d=%d\n",i,j,num=i/j);//实现除法功能
break;
default:
printf("输入有误重新选择");
break;
}
}while(select);
return0;
}
运行结果:
(4)c语言简易计算器代码扩展阅读:
return表示把程序流程从被调函数转向主调函数并把表达式的值带回主调函数,实现函数值的返回,返回时可附带一个返回值,由return后面的参数指定。
return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。
Ⅳ C语言程序设计简易计算器
1、首先,打开Vs 2010,如图。
2、找到左上角的新建并点击,给文件为简单计算器,单击确定。
3、点击下一步,注意勾选空项目,点击下一步,点击完成。
4、点击左侧的源文件,右击选择“添加—>项目”,选择C++文件,命名为简单计算器,因为是C程序,注意后缀名要加上.c,点击确定完成文件新建工作。
5、输入以下代码,好了,一个简单的计算器便做好了
Ⅵ c语言设计简单计算器代码
#include <iostream.h>
#include <stack>
using namespace std;
int precede(char op1,char op2)//> 1,= 0,<-1
{
switch(op1)
{
case '+':
if(op2=='+' || op2=='-' || op2==')' || op2=='#')
return 1;
return -1;
case '-':
if(op2=='+' || op2=='-' || op2==')' || op2=='#')
return 1;
return -1;
case '*':
if(op2=='(')
return -1;
return 1;
case '/':
if(op2=='(')
return -1;
return 1;
case '(':
if(op2==')')
return 0;
return -1;
case ')':
return 1;
case '#':
return -1;
default:
break;
}
return 0;
}
int compute(int num1,char op,int num2)
{
int num=0;
switch(op)
{
case '+':
num=num1+num2;
break;
case '-':
num=num1-num2;
break;
case '*':
num=num1*num2;
break;
case '/':
num=num1/num2;
break;
}
return num;
}
int calculator(char str[205])
{
int i,pre,num,num1,num2;
char op1;
bool flag;
stack<char> charsta;
stack<int> intsta;
charsta.push('#');
i=strlen(str);
str[i]='#';
str[i+1]='\0';
i=0,num=0;
flag=false;
while(str[i])
{
if(str[i]>='0' && str[i]<='9')
{
flag=true;
num=num*10+str[i]-'0';
i++;
}
else
{
if(flag)
{
flag=false;
intsta.push(num);
num=0;
}
op1=charsta.top();
if(op1=='#' && str[i]=='#')
break;
pre=precede(op1,str[i]);
switch(pre)
{
case 0:
charsta.pop();
i++;
break;
case 1:
charsta.pop();
num2=intsta.top();
intsta.pop();
num1=intsta.top();
intsta.pop();
intsta.push(compute(num1,op1,num2));
break;
case -1:
charsta.push(str[i]);
i++;
break;
}
}
}
num=intsta.top();
intsta.pop();
return num;
}
int main()
{
char str[205];
int i,n;
cin>>n;//数据组数
for(i=0;i<n;i++)
{
cin>>str; //输入表达式,如((5-3)*2-1)
printf("%d\n",calculator(str));//计算结果
}
return 0;
}
Ⅶ C语言编写简易计算器程序
C语言编写计算器
我们可以用printf和scanf函数输出结果和获取用户的输入。需要<stdio.h>头文件。scanf函数在读取数据的时候不需要再一行上输入每个数据,只要数据和数据之间留出空白就可以了。先声明两个变量number1和number2,operation变量用来存储运算符。用scanf函数获取这两个数字和运算符。分别用%lf %c %lf
Ⅷ 如何用C语言写一个简易计算器
#include<stdio.h>
int main()
{
double num1;
double num2;
double result;
char ch;
printf("Please enter express to caculate, 'q' to exit(eg. 1+3):");
while(scanf("%lf%c%lf",&num1,&ch,&num2) == 3)
{
switch(ch)
{
case '+':
{
result = num1 + num2;
break;
}
case '-':
{
result = num1 - num2;
break;
}
case '/':
{
if(num2 == 0)
printf("Error:div/0\n");
else
result = num1 / num2;
break;
}
case '*':
{
result = num1 * num2;
break;
}
}
printf("%g%c%g=%g\n",num1,ch,num2,result);
printf("Please enter express to caculate, 'q' to exit(eg. 1+3):");
}
return 0;
}