學c語言第一個自己寫的計算器程序

值的交換很重要,我在裏面走了一天都沒走出來
   都 沒想到,可以把值提前取出來——————》》最後還是同學"李文志"想到的


 #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("謝謝使用");
}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章