switchの条件式について

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

switchの条件式について

#1

投稿記事 by なつかぜ » 9年前

switchの条件式についてです。
switch()の()に入る条件式で
~は1、~は2と複数区分を作りたいです。

よろしくお願いします。

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

Re: switchの条件式について

#2

投稿記事 by box » 9年前

何がしたいのか、ちょっとわかりかねます。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

なつかぜ

Re: switchの条件式について

#3

投稿記事 by なつかぜ » 9年前

返信ありがとうございます。
例えば
0~100は1
101~300は2
500~650は3
という風に区別をしたいということです。

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: switchの条件式について

#4

投稿記事 by みけCAT » 9年前

使用しているプログラミング言語は何ですか?
それはswitchでないとダメなのですか?
if文ではいけないのですか?
The XY Problemに気をつけましょう。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: switchの条件式について

#5

投稿記事 by みけCAT » 9年前

まあ、作りたいなら作ればいいでしょう。
以下はC言語の場合の例です。

コード:

#include <stdio.h>

int main(void) {
    int x = 0;
    if (scanf("%d", &x) != 1) {
        puts("input error");
        return 1;
    }

    switch(  0 <= x && x <= 100 ? 1 :
           101 <= x && x <= 300 ? 2 :
           500 <= x && x <= 650 ? 3 :
           -1) {
    case 1:
        puts("1");
        break;
    case 2:
        puts("22");
        break;
    case 3:
        puts("333");
        break;
    default:
        puts("?????");
        break;
    }

    return 0;
}
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

なつかぜ

Re: switchの条件式について

#6

投稿記事 by なつかぜ » 9年前

みけCATさん、ありがとうございます。

コードについてなんですが
switchの()内最後のー1は何を意味しているのですか?
またその他は10という(switch文のdefaultのような)式は作れますか?

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

Re: switchの条件式について

#7

投稿記事 by box » 9年前

なつかぜ さんが書きました: switchの()内最後のー1は何を意味しているのですか?
1, 2, 3のいずれでもない、という意味だと思います。つまり
なつかぜ さんが書きました:またその他は10という(switch文のdefaultのような)式は作れますか?
ってこと。くだんのswitch文で-1のところを10にすれば解決すると思います。
ところで、switch文のそういう使い方は見たことがありません。むりやりswitchを使わなくてもよいのでは?
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: switchの条件式について

#8

投稿記事 by みけCAT » 9年前

box さんが書きました:
なつかぜ さんが書きました: switchの()内最後のー1は何を意味しているのですか?
1, 2, 3のいずれでもない、という意味だと思います。つまり
なつかぜ さんが書きました:またその他は10という(switch文のdefaultのような)式は作れますか?
ってこと。くだんのswitch文で-1のところを10にすれば解決すると思います。?
その通りです。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

なつかぜ

Re: switchの条件式について

#9

投稿記事 by なつかぜ » 9年前

問題解決できました。
ありがとうございました。

閉鎖

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