簡単なプログラムを作った

1以下、名無しにかわりましてVIPがお送りします:2016/07/04(月) 23:55:21.99 ID:h/vo9197

#単位の選択
print"温度の単位(数字)を選択して下さい\n";
print"ケルビン=1 摂氏=2 華氏=3:"; $u = <STDIN>;
print"\n";

#単位の繰り返し(無効な場合)
while($u < 1 || $u > 3){
print"無効な値なのでもう一度入力して下さい\n";
print"ケルビン=1 摂氏=2 華氏=3:"; $u = <STDIN>;
print"\n";
}

#単位の表示
if($u == 1){
$d = "ケルビン";
}elsif($u == 2){
$d = "摂氏";
}elsif($u == 3){
$d = "華氏";
}

#温度の入力
print"温度を入力して下さい(単位:$d):"; $t = <STDIN>;
print"\n";

#温度の繰り返し(無効な場合)
while($u == 1 and $t < 0){
print"無効な値なのでもう一度入力して下さい\n";
print"温度を入力して下さい(単位:$d):"; $t = <STDIN>;
print"\n";
}
while($u == 2 and $t < -273.15){
print"無効な値なのでもう一度入力して下さい\n";
print"温度を入力して下さい(単位:$d):"; $t = <STDIN>;
print"\n";
}
while($u == 3 and $t < -459.67){
print"無効な値なのでもう一度入力して下さい\n";
print"温度を入力して下さい(単位:$d):"; $t = <STDIN>;
print"\n";
}

#温度の変換
if($u == 1){
$k = $t;
$c = $t - 273.15;
$f = (9 / 5) * $t -459.67;
}elsif($u == 2){
$k = $t + 273.15;
$c = $t;
$f = (9 / 5) * $t + 32;
}elsif($u == 3){
$k = (5 / 9) * ($t + 459.67);
$c = (5 / 9) * ($t - 32);
$f = $t;
}

#値の整理
$k = sprintf("%.2f", $k);
$c = sprintf("%.2f", $c);
$f = sprintf("%.2f", $f);

#温度の表示
if($u == 1){
print"絶対温度$k"."Kの場合\n";
print"摂氏温度$c"."°Cと華氏温度$f"."°Fになります\n";
}elsif($u == 2){
print"摂氏温度$c"."°Cの場合\n";
print"絶対温度$k"."Kと華氏温度$f"."°Fになります\n";
}elsif($u == 3){
print"華氏温度$f"."°Fの場合\n";
print"絶対温度$k"."Kと摂氏温度$c"."°Cになります\n";
}

2以下、名無しにかわりましてVIPがお送りします:2016/07/04(月) 23:57:04.94 ID:h/vo9197

因みに言語はPerl

3以下、名無しにかわりましてVIPがお送りします:2016/07/05(火) 00:01:19.85 ID:hpdemlN0

もっと短くできそうな…

4以下、名無しにかわりましてVIPがお送りします:2016/07/05(火) 00:07:38.89 ID:xkS7mqq6

Perlってこんな簡単に標準入力扱えるんか

5以下、名無しにかわりましてVIPがお送りします:2016/07/05(火) 00:26:01.36 ID:gLQTh5Ht

パールは全然知らないや
真珠持たないしな

6以下、名無しにかわりましてVIPがお送りします:2016/07/05(火) 02:12:50.06 ID:iIVBglWR

while3つ並んでるのがムカつく

7以下、名無しにかわりましてVIPがお送りします:2016/07/05(火) 02:18:55.42 ID:1Kbwipiv

デジャブかな?

8以下、名無しにかわりましてVIPがお送りします:2016/07/05(火) 03:45:36.22 ID:hKhMc6Nq

これ2.5って入力したらどうなるの

9以下、名無しにかわりましてVIPがお送りします:2016/07/05(火) 03:53:07.82 ID:A8gRIF4W

どうやったらこれを実行させられるかわからない

10以下、名無しにかわりましてVIPがお送りします:2016/07/05(火) 04:44:58.15 ID:1Kbwipiv

perlって型ないんか
2.5入力してエラー出ないんか

11以下、名無しにかわりましてVIPがお送りします:2016/07/05(火) 06:23:05.54 ID:2FNH6qvx

==使うくらいならswitch使いたいな
好みだろうけど

12以下、名無しにかわりましてVIPがお送りします:2016/07/05(火) 06:50:11.26 ID:oTXV0SVU

動いた
http://www.tutorialspoint.com/execute_perl_online.php?PID=0Bw_CjBb95KQMVU9Id2t6Ui1zV2M

13以下、名無しにかわりましてVIPがお送りします:2016/07/05(火) 06:52:01.20 ID:UsqGwazM

うごかなお

14以下、名無しにかわりましてVIPがお送りします:2016/07/05(火) 06:55:52.76 ID:oTXV0SVU

アカン失敗した
http://www.tutorialspoint.com/execute_perl_online.php?PID=0Bw_CjBb95KQMTjBQNk1rNnFkNzQ

15以下、名無しにかわりましてVIPがお送りします:2016/07/05(火) 08:08:13.90 ID:hKhMc6Nq

>>9
rubyと同じスクリプト言語ならPerl入れて環境変数設定してPerlのコマンドプロンプトで1のPerlファイルを実行すればいいはず


このスレッドは過去ログです。