解決済みの質問
viを使って数値,演算子,数値と入力すると演算子に応じて+=*/いづれかの計算結果...
viを使って数値,演算子,数値と入力すると演算子に応じて+=*/いづれかの計算結果を表示するシェルスクリプトをcaseを使って表示したいのですが、何度やってもわかりません。どなたかヒントよろしくおねがいします
-
- 質問日時:
- 2008/8/27 18:47:56
-
- 解決日時:
- 2008/9/11 03:48:27
-
- 回答数:
- 1
-
- 閲覧数:
- 313
-
- ソーシャルブックマークへ投稿:
- Yahoo!ブックマークへ投稿
- はてなブックマークへ投稿
- (ソーシャルブックマークとは)
ベストアンサーに選ばれた回答
普通なら計算部分を部品化してして作るけど、あえてcase文を使ったらこんな感じかなぁ。
-----------------------------------
#!/bin/bash
echo -n "Input the first value -> ";
read a;
echo -n "Input the second value -> ";
read b;
echo -n "Input the operator -> ";
read ope;
case $ope in
'+')
printf "%d + %d = %d\n" $a $b $((a+b));;
'-')
printf "%d - %d = %d\n" $a $b $((a-b));;
'*')
printf "%d * %d = %d\n" $a $b $((a*b));;
'/')
printf "%d / %d = %d\n" $a $b $((a/b));;
esac
-----------------------------------
私自身も初心者なんで、もうちょっといい方法があるかもしれませんが・・・
つまづきやすいところとしては、
・bashでの数値演算は $((演算式)) と表現する。
・caseでbreakの代わりに;;で分岐を終了させる。
とかかなぁ。
- 違反報告
- 回答日時:2008/8/27 19:41:45
この質問は投票によってベストアンサーが選ばれました!
- この質問・回答は役に立ちましたか?
- 役に立った!
お役立ち度:
1人が役に立つと評価しています。

