计算器C:同时输入运算符号和整数进行计算
Calculator C: inputting both operator signs and integers to perform calculations
所以我了解了制作一个简单计算器的基本概念,比如向用户询问两个int值a,b,然后询问他们想要使用哪个运算符号。但我想创建更复杂和可用的东西。
我的方法是分别扫描int值和运算符号,所以会先扫描成int,再扫描成string???输入将类似于:
1(输入)
'/' (进入)
2(输入)
'+'(输入)
4(enter) 然后用户可以按 x 结束并计算。
int main()
{
int array_int[30];
char array_operators[30];
int hold_value = 0;
int i = 0;
printf("Enter your calculations, press enter after each number and operator is entered \n");
while(1==1){
scanf("%i",&hold_value); //Use this to decide which array to put it in.
if(isdigit(hold_value)){
array_int[i] = hold value // Check if input will be an int or char to decide which array to store it in??
}
我仍然需要一种方法来结束用户输入的循环,而且我知道我放入条件语句中的逻辑没有任何意义,但我是 C 的新手,我不知道我的所有选择.希望我的目标陈述得足够清楚,让你们能帮助我。谢谢
如果你想在没有什么可 return 时结束循环,只需使用 return(0).
如果你想结束程序而不是退出(0)。
另外,请检查以下内容:
http://forum.codecall.net/topic/50733-very-simple-c-calculator/
正在更改您当前的代码,
int main()
{
int array_int[30]={0};
char array_operators[30]={0}; //Initialize variables. It is a good practice
char hold_value; //hold value must be a char
int i = 0, j = 0;
printf("Enter your calculations, press enter after each number and operator is entered, press Q to quit \n");
while(1){
scanf(" %c",&hold_value); //Note the space before %c. It skips whitespace characters
if(hold_value=='Q') //break the loop if character is Q
break;
if(isdigit(hold_value)){ // If input is a digit
array_int[i++] = hold_value-'0'; //Store the integer in array_int
}
else{ //Input is a character
array_operators[j++] = hold_value;
}
}
//Calculate from here
return 0;
}
所以我了解了制作一个简单计算器的基本概念,比如向用户询问两个int值a,b,然后询问他们想要使用哪个运算符号。但我想创建更复杂和可用的东西。
我的方法是分别扫描int值和运算符号,所以会先扫描成int,再扫描成string???输入将类似于: 1(输入) '/' (进入) 2(输入) '+'(输入) 4(enter) 然后用户可以按 x 结束并计算。
int main()
{
int array_int[30];
char array_operators[30];
int hold_value = 0;
int i = 0;
printf("Enter your calculations, press enter after each number and operator is entered \n");
while(1==1){
scanf("%i",&hold_value); //Use this to decide which array to put it in.
if(isdigit(hold_value)){
array_int[i] = hold value // Check if input will be an int or char to decide which array to store it in??
}
我仍然需要一种方法来结束用户输入的循环,而且我知道我放入条件语句中的逻辑没有任何意义,但我是 C 的新手,我不知道我的所有选择.希望我的目标陈述得足够清楚,让你们能帮助我。谢谢
如果你想在没有什么可 return 时结束循环,只需使用 return(0).
如果你想结束程序而不是退出(0)。
另外,请检查以下内容:
http://forum.codecall.net/topic/50733-very-simple-c-calculator/
正在更改您当前的代码,
int main()
{
int array_int[30]={0};
char array_operators[30]={0}; //Initialize variables. It is a good practice
char hold_value; //hold value must be a char
int i = 0, j = 0;
printf("Enter your calculations, press enter after each number and operator is entered, press Q to quit \n");
while(1){
scanf(" %c",&hold_value); //Note the space before %c. It skips whitespace characters
if(hold_value=='Q') //break the loop if character is Q
break;
if(isdigit(hold_value)){ // If input is a digit
array_int[i++] = hold_value-'0'; //Store the integer in array_int
}
else{ //Input is a character
array_operators[j++] = hold_value;
}
}
//Calculate from here
return 0;
}