券売機システム

アプリの仕様に沿って、クラス図・シーケンス図を作成し、アプリケーションを作成してみましょう。

動作例

商品      金額
1.特製ラーメン 1000円
2.醤油ラーメン 780円
3.しおラーメン 880円
4.ごはん 150円
購入する商品番号(支払いに進む場合はc)>3
購入する商品番号(支払いに進む場合はc)>4
購入する商品番号(支払いに進む場合はc)>c

商品       数量
3.しおラーメン   1
4.ごはん      1
合計1030円

現金を投入してください>1100
ご購入ありがとうございます。おつり70円です。

アプリの仕様

  1. 購入可能な商品一覧を表示し、商品番号の入力を受け付けてください。

    商品     金額
    1.特製ラーメン 1000円
    2.醤油ラーメン 780円
    3.しおラーメン 880円
    4.ごはん 150円
    購入する商品番号(支払いに進む場合はc)>
    
  2. cが入力されるまで繰り返し入力をうけつけてください。

  3. 商品番号とc以外の値が入力されたら、下記のメッセージを表示して、再度入力を受け付けてください。

    商品番号またはcを指定してください。
    
  4. cが入力されたら、購入する商品の一覧と金額の合計を表示してください。

    商品        数量
    1.特製ラーメン   1
    4.ごはん      1
    合計1150円です。
    
  5. さらに、下記のように表示し、金額の入力を受け付けてください。

    現金を投入してください>
    
  6. ユーザーが入力した金額が、購入対象の金額より小さい場合は下記のエラーを表示してプログラムを終了してください。

    金額が不足しています。
    
  7. ユーザーが入力した金額が正の数でない場合は、エラーを表示してプログラムを終了。

  8. おつりを計算して返却します。下記のように表示してください。

    おつりxxx円です。
    

回答例

クラス図

alt janken_class.png

シーケンス図

alt janken_sequence.png

ソースコード

[Github]ticket

解説