我对编码很新,我应该编写一个整数计算器。到目前为止,我已经完成了所有设置但需要能够通过键入以" q"开头的单词来退出程序。随时。我还需要能够取消该程序,即通过键入以" c"开头的任何单词开始新的计算。 代码是这个
include <stdio.h>
include <stdlib.h>
int main() {
int running = 1;
while (running==1) {
int x = 0;
int y = 0;
int r = 0;
char o;
printf("*****INTEGER CALCULATOR*****\n\n\n");
printf("enter x: ");
scanf("%d",&x);
printf("enter y: ");
scanf("%d",&y);
printf("%d %d\n",x,y);
printf("+ - * / %% : ");
scanf("%s",&o);
if (o == '+') {
r = x+y;
}
else if (o == '-') {
r = x-y;
}
else if(o == '*') {
r = x*y;
}
else if(o == '/') {
if (x==0&&y==0) {
printf("UNDEFINED\n");
}
else if(y==0) {
printf("ERROR: DIVISION BY ZERO\n");
}
else {
r= x/y;
}
}
else if(o == '%') {
r= x%y;
}
else {
printf("OPERATOR ERROR\n");
}
printf("Operation: %c\n",o);
printf("RESULT: %d\n\n\n",r);
}
return 0;
答案 0 :(得分:0)
以下是根据您的需求编辑的程序。代码中的注释中解释了所有新内容:
#include <stdio.h>
#include <stdlib.h> // Don't forget # before include!
int main() {
char ch = NULL; //character for storing 'q' or 'c'
do{
int x = 0;
int y = 0;
int r = 0;
char o;
printf("*****INTEGER CALCULATOR*****\n\n\n");
printf("enter x: ");
scanf("%d",&x);
printf("enter y: ");
scanf("%d",&y);
printf("%d %d\n",x,y);
printf("+ - * / %% : ");
scanf(" %c",&o); //%c not %s as o is a char
if (o == '+')
r = x+y;
else if (o == '-')
r = x-y;
else if(o == '*')
r = x*y;
else if(o == '/')
{
if (x==0&&y==0) {
printf("UNDEFINED\n");
}
else if(y==0) {
printf("ERROR: DIVISION BY ZERO\n");
}
else {
r= x/y;
}
}
else if(o == '%')
r= x%y;
else {
printf("OPERATOR ERROR! Try again:\n");
}
printf("Operation: %c\n",o);
printf("RESULT: %d\n\n\n",r);
while(1) //infinite loop
{
printf("Enter 'c' for calculating once more and q to exit");
scanf(" %c",&ch);
if(ch=='c' || ch=='q') // if input is c or q
break; //break out of infinite loop
else // if input is not c or q
printf("Invalid option.Try again\n");//print this and continue the infinite loop
}
//ch is now sure to be either c or q when execution reaches here
}while(ch!='q'); // loop until ch is not q
return 0;
}
答案 1 :(得分:0)
为了简单起见,我会使用 gets()或** getChar()函数通过对所需值执行条件检查来读入变量和进程。