//写一个多个数的计算器,在这只实现从左至右运算,没有优先符
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("谢谢使用");
}
}
|