【PHP】演習問題 – else文(1)

問題

お店のお会計で割引を適用するプログラムを作成してください。
なお、下記の条件を満たすものとします。

  • 合計金額は『単価×個数』で計算する
  • 単価は150円とする
  • 個数はコマンドライン引数で与える
  • 割引の条件
    20%OFF 個数が10個以上
    10%OFF 個数が5個以上
    5%OFF 上記条件に当てはまらない場合

実行例1

コマンドライン

php practice.php 11

実行結果

割引金額         : 330円
合計金額(割引前) : 1650円
合計金額(割引後) : 1320円

実行例2

コマンドライン

php practice.php 4

実行結果

割引金額         : 30円
合計金額(割引前) : 600円
合計金額(割引後) : 570円

解答例

ソースコード

<?php

// 個数
$unit = $argv[1];

// 単価
$price = 150;

// 合計金額(割引前)
$subtotal = $price * $unit;

// 合計金額(割引後)
$total = $subtotal;

// 割引金額
$discount = 0;

// 割引の適用
if( $unit >= 10 ) {
    $discount = $subtotal * 0.2;
    $total = $subtotal - $discount;
} else if( $unit >= 5 ) {
    $discount = $subtotal * 0.1;
    $total = $subtotal - $discount;
} else {
    $discount = $subtotal * 0.05;
    $total = $subtotal - $discount;
}

echo '割引金額         : '.$discount."円\n";
echo '合計金額(割引前) : '.$subtotal."円\n";
echo '合計金額(割引後) : '.$total."円\n";

?>