【スポンサーリンク】

【C言語解説】 C言語練習 R016 - 区分と人数から料金を求める

こちらのサイト

C言語練習
http://www.geocities.jp/kenji_y0328/crenshu/

の問題を実際に解いていったので、「解説」という形でまとめていこうかと思っています。
ちなみに、こちらのサイトでは解答もありますが、自分の解答を元に解説していきます。

※作者様からの削除依頼がありましたらすぐに削除しますのでご報告頂けると幸いです。

カテゴリの「C言語練習」でまとめています。

【問題】

料金区分と人数を入力する。料金区分が1のとき料金を800円、2のとき1000円、3
のとき1500円とし、それに人数を掛けて、金額を算出する。料金と金額を表示する。

【コード】

#include<stdio.h>
main(){
    int kubun, ninzu, ryokin;
    printf("区分="); scanf("%d", &kubun);
    printf("人数="); scanf("%d", &ninzu);
    
    switch(kubun){
        case 1: ryokin = 800; break;
        case 2: ryokin = 1000; break;
        case 3: ryokin = 1500; break;
    }
    printf("金額=%d\n", ryokin*ninzu);
    return 0;
}

【考え方】

  • int型の「kubun」「ninzu」「ryokin」を宣言する。
  • 区分を入力して「kubun」に入れる。
  • 人数を入力して「ninzu」に入れる。
  • switch文で分岐処理を行う。
  • 標準出力処理で金額を出力する。

【個人的な意見】

以前の記事でも言った気がしますが、3つ以上の分岐になる時は switch 文を使うとスッキリします。

そして、入力処理の時に表示する文字を『区分=』だけでなく『区分(1=800、2=1000、3=1500)=』のようにすればよかったと感じました。

そのようにしたほうが分かりやすいと感じたからです。

やはりこういった細かいところで利便性を考えるクセを付けていたほうが良いと思います。

【スポンサーリンク】