昨夜、練習用に作成しようとしている三角関数計算機について質問しましたが、前回の質問にかなり関連する質問で再び戻ってきました。昨夜から電卓を修正しましたが、何らかの奇妙な理由で、if ステートメントの 1 つが別の if ステートメントに対して与えられたテストに合格しています。これが私が持っているコードです-
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int x;
float o, h, a, S, C, T;
enum { sine, cosine, tangent};
printf("Enter the value for the function you wish to calculate\n(Sine = 0 Cosine = 1 Tangent = 2): ");
scanf("%f", &x);
if(x == 0)
{
printf("Enter the value of the opposite leg: ");
scanf("%f", &o);
printf("Enter the value of the hypotenuse: ");
scanf("%f", &h);
S = o / h;
printf("The sine is equal to %f", S);
}
else if(x < 2, x > 0)
{
printf("Enter the value of the adjacent leg: ");
scanf("%f", &a);
printf("Enter the value of the hypotenuse: ");
scanf("%f", &h);
C = a / h;
printf("The cosine is equal to %f", C);
}
else if(x == 2)
{
printf("Enter the value of the opposite leg: ");
scanf("%f", &o);
printf("Enter the value of the adjacent leg");
scanf("%f", &a);
T = o / a;
printf("The tangent is equal to %f", T);
}
else
{
printf("Wat da fack");
}
return 0;
}
何が起こるかというと、タンジェントのコサイン テストに合格し、タンジェント関数が機能しません。前と同じように、私はまだこれにかなり慣れていないので、気楽に行ってください..ところで、コサインの2つのテスト条件があるのは、そのようにしない限り実行されないからです。それも。