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

学c语言第一个自己写的计算器程序

2016-08-16 20:31 183 查看
值的交换很重要,我在里面走了一天都没走出来

   都 没想到,可以把值提前取出来——————》》最后还是同学"李文志"想到的

 #include<stdio.h>

//写一个多个数的计算器,在这只实现从左至右运算,没有优先符
void main(void){
int numA = 0;
//第一个数
int numB = 0;
//第二个数
int numC = 0;
//交换数
int temp = 0;
//交换数
char operators ="";    //接收用户输入的运算符

int condition = 1;     //控制while第一个条件

int controlThree =0;
//控制 while 第二个条件
char equal;
//存运算符
char inContinue;
//存储等于号

int survey = 0;         //结束询问调查

printf("             欢迎使用多数计算器\n\n");
//下面用 while 循环计算器
while(condition){

printf("请输入第一个数:  ");
scanf("%d",&numA);

//判断用户是否输入等于
do{   
printf("  请输入运算符: ");
scanf("%s",&operators);

if(operators=='='){
inContinue='=';
controlThree=0;
printf("=============================================");
}else{
if(operators=='+' || operators=='-' || operators=='*' || operators=='/'){
printf("请输入第下个数:  ");
scanf("%d",&numB);
switch(operators){
case '+':
equal='+';

numC=numA+numB;
break;
case '-':
equal='-';

numC=numA-numB;

break;
case '*':
equal='*';

numC=numA*numB;

break;
case '/':
equal='/';

numC=numA/numB;

break;
}
}else{
printf("你输入的运算符有误,请重新输入\n");
inContinue=1;

}

//交换数值
temp=numA;             //注意这个numA的值一定要提前取出来
numA=numC;

controlThree=1;
}

}while(controlThree);
//下面输出打印运算

if(inContinue=='='){

switch(equal){
case '+':

printf("\n
%d + %d = %d \n\n",temp,numB,numC);

break;
case '-':
printf("\n
%d - %d = %d \n\n",temp,numB,numC);

break;
case '*':
printf("\n
%d * %d = %d \n\n",temp,numB,numC);
break;
case '/':
printf("\n
%d / %d = %d \n\n",temp,numB,numC);
break;

}
}

printf("\n是否继续运算 1 是 0 退出\n");
scanf("%d",&condition);

}
printf("\n感谢使用本系统\n \n 非常满意请按 1 \n     满意请按 2 \n   不满意请按 3\n");
scanf("%d",&survey);
if(survey<=3&&survey>=1){
printf("谢谢配合");
}else{
printf("谢谢使用");
}
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  switch if while 数据交换