Home > PHP > 「新しくプログラミング言語を覚えたいときに行うべき10の練習問題」を PHP で解いてみる【第 4 回】

「新しくプログラミング言語を覚えたいときに行うべき10の練習問題」を PHP で解いてみる【第 4 回】

  • 2008-06-07 (土) 21:59
  • PHP
  • Tags:
  • hatena add hatena users
  • send twitter

新しくプログラミング言語を覚えたいときに行うべき10の練習問題の第 4 問を解いてみます。今回のお題はこちら。

4.簡易電卓。0で割ったときの処理を自分なりに作りこむ。

この問題をどうやって実装しようかと悩んでたのですが、数値を入力するエリア 2 つと演算子を選択するだけのシンプルなフォームにしてみました。

計算を行っているのは calc 関数。
まず、最初にアクセスした時は $_GET は空なので、isset() 関数を使って値がセットされているかどうかを確認します。
値がセットされていてその値が数値の場合は、選択された演算子で計算し、計算結果を左側のエリアにセットします。
割る数が 0 の場合は、計算せずに元の値をそのままセットしています。

caution 関数は、入力された値が間違っている場合(0 で割ろうとした場合も含む)にエラーメッセージを表示しています。

<?php
function calc() {
  if(isset($_GET['op'], $_GET['v1'], $_GET['v2'])) {
    if(is_numeric($_GET['v1']) && is_numeric($_GET['v2'])) {
      switch($_GET['op']) {

        // 加算
        case '1':
          print($_GET['v1'] + $_GET['v2']);
          break;

        // 減算
        case '2':
          print($_GET['v1'] - $_GET['v2']);
          break;

        // 乗算
        case '3':
          print($_GET['v1'] * $_GET['v2']);
          break;

        // 除算
        case '4':

          // 0の場合は割らない
          if($_GET['v2'] != '0') {
            print($_GET['v1'] / $_GET['v2']);
          } else {
            print($_GET['v1']);
          }
          break;
      }
    } else {
      print($_GET['v1']);
    }
  }
}

function caution() {
  if(isset($_GET['op'], $_GET['v1'], $_GET['v2'])) {
    if(is_numeric($_GET['v1']) && is_numeric($_GET['v2'])) {
      if($_GET['op'] == '4' && $_GET['v2'] == '0') {
        print('0では割れません。<br />');
      }
    } else {
      print('半角数値を入力してください。<br />');
    }
  }
}
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja">
<head>
<title>sukechan.net: 「新しくプログラミング言語を覚えたいときに行うべき10の練習問題」第 4 回のサンプル</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>

<form method="GET" action="068_phpstudy_04.php">
<input type="text" name="v1" size="10" value="<?php calc(); ?>" />
<select name="op">
<option value="1" selected="selected">+</option>
<option value="2">−</option>
<option value="3">×</option>
<option value="4">÷</option>
</select>
<input type="text" name="v2" size="10" value="" />
<br />
<?php caution(); ?>
<input type="submit" value="計算" />
</form>
</body>
</html>

>>作成したサンプルはこちら

参考リンク

関連する記事

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://www.sukechan.net/archives/68/trackback/
Listed below are links to weblogs that reference
「新しくプログラミング言語を覚えたいときに行うべき10の練習問題」を PHP で解いてみる【第 4 回】 from sukechan.net

Home > PHP > 「新しくプログラミング言語を覚えたいときに行うべき10の練習問題」を PHP で解いてみる【第 4 回】

Search
Feeds
Meta
あわせて読みたい
あわせて読みたいブログパーツ
Others...
フィードメーター - sukechan.net
track feed

Return to page top