私はscanfにユーザーからの入力を数値の形式で受け取り、2つの数値を使用して簡単な計算を実行しようとしています.私が抱えている問題は、数値に何を入力しても、常にちょうど吐き出す 1 助けていただければ幸いです
含む
int main(int argc, char const *argv[])
{
float in1,in2,value;
char c;
printf("Enter the operation of your choice:\n");
printf("A. add S. subtract\n");
printf("M. multiply D. divide\n");
printf("Q. quit\n");
c=getchar();
while( c !='Q' && c!='q')
{
printf("please enter your first number:");
scanf("%g", &in1);
printf("%g\n",in1 );
printf("please enter your second number:");
scanf("%g", &in2);
printf("%g\n",in2 );
if(c == 'S' || c =='s')
if(in2 == 0)
{
printf("you have selected subtration however\n");
printf("the value you entered was 0\n");
printf("please enter a value greater than 0\n");
scanf("%lg",&in2);
}
if(c == 'a' || c == 'A')
{
value = in1+in2;
printf("%lg + %lg = %lg\n",in1,in2,value );
}
if(c == 's' || c == 'S')
{
value = in1-in2;
printf("%lg - %lg = %lg\n",in1,in2,value );
}
if(c == 'm' || c == 'M')
{
value = in1*in2;
printf("%lg * %lg = %lg\n",in1,in2,value );
}
if(c == 'd' || c == 'D')
{
value = in1/in2;
printf("%lg / %lg = %lg\n",in1,in2,value );
}
if (c !='Q' && c !='q')
{
printf("Enter the operation of your choice:\n");
printf("A. add S. subtract\n");
printf("M. multiply D. divide\n");
printf("Q. quit\n");
}
c=getchar();
}
return 0;
}