-1

実際の入力intをdoubleに変換する方法はありますか?文字列値を取得したくないので、isDigitを使用してdoubleまたはintかどうかを確認します。

int main(void)
{

    // Initializing variables
    int a,b,c,res;

    // Getting input from user
    printf("Please enter the sides of triangle");

    printf("\nPlease enter side 1:");
    scanf("%d",&a);

    printf("Please enter side 2:");
    scanf("%d",&b);

    printf("Please enter side 3:");
    scanf("%d",&c);


    // Calling function in order to print type of the triangle.
    checkTriangle(a,b,c);



}

// A function which decides the type of the triangle and print it
void checkTriangle(int s1, int s2,int s3)
{


    // Check the values whether it is triangle or not.
  if ((s1 + s2 > s3 && s1 +  s3 > s2 && s2 + s3 > s1) && (s1 > 0 && s2 > 0 && s3 > 0))
     {
    // Deciding type of triangle according to given input.
      if (s1 == s2 && s2 == s3)
          printf("EQUILATERAL TRIANGLE");
      else if (s1 == s2 || s2 == s3 || s1 == s3)
          printf("ISOSCELES TRIANGLE\n");
      else
          printf("SCALENE TRIANGLE \n");
    }
     else
         printf("Triangle could not be formed.");


}

ユーザーがdoubleを入力したときにやりたいことdoubleを入力できるというメッセージを表示したい。文字入力を取得せずにそれを行う方法はありますか?

4

3 に答える 3

2

単純にキャストを使用intして変換したい値がある場合:double

int foo = 5;
double bar = (double) foo;
于 2012-10-14T20:26:37.907 に答える
2

入力を double として読み取りたい場合は、次を使用します。

double inputValue;
scanf("%lf", &inputValue);

は、入力が double であることを示します"%lf"scanf

于 2012-10-14T20:28:37.047 に答える
0

scanf("%d",&u) を使用するか、入力を int または char 型として受け取り、それを double に型キャストすることができます。

于 2012-10-14T20:40:15.973 に答える