C言語の条件分岐

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
DX160

C言語の条件分岐

#1

投稿記事 by DX160 » 1年前

コード:

#include <stdio.h>

double main()
{
    double x;

    printf("Aの金額を入力してください");
    scanf("%lf", &x);

    if (0 <= x < 3000)
    {
        printf("Aの値段は%d円です.\n", x);
    }
    else if (3000 <= x < 5000)
    {
        printf("Aの値段は%d円です.\n", 0.8 * x);
    }
    else if (x >= 5000)
    {
        printf("Aの値段は%d円です.\n", 0.7 * x);
    }
    else
    {
        printf("invalid price.\n");
    }
}
こういうコードで条件分岐させようとしているのですが条件分岐されずに入力したものがそのまま出力されてしまいます。その原因がわかる方どなたか教えていただきたいです

box
記事: 2002
登録日時: 13年前

Re: C言語の条件分岐

#2

投稿記事 by box » 1年前

コード:

    if (0 <= x < 3000)
    else if (3000 <= x < 5000)
ここの書き方が違います。

コード:

    if (0 <= x && x < 3000)
    else if (3000 <= x && x < 5000)
のように書いてください。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

返信

“C言語何でも質問掲示板” へ戻る