第 8 回 ことはじめ レポート課題 完成形?を送ります。 氏名:宮城晃司 学籍番号:c1101879 語学クラス:中国語3 コース(系):社会福祉コース 1.筆記問題 A.CGIとHashの似てるところはこの二つは 取り出したいものを取り出せるところで ある。例えば問いと答えがそれぞれに対応 した形になる。 B..htaccessは、CGIを使用する宣言をし、.html でインターネット上でページを作ることができ、 .rbで入力された値を処理し、結果を出す事ができる。 C. この部分でドロップダウンメニューを作り、選ばれた option が で現れたボタンを押すことで値が送られる。 D.require 'cgi' この部分で CGI を使う宣言をして cgi = CGI.new("html4") print("Content-type: text/html; charset=EUC-jp\n\n") の部分で受け取ったデータを使う宣言をする。 この後に print 文で表示したい文を表示する。 2. A. プログラム(ticket.rb) #!/usr/koeki/bin/ruby require 'cgi' cgi = CGI.new("html4") print("Content-type: text/html; charset=Euc-jp\n\n") sta = cgi["start"] arr = cgi["arrive"] station = Hash.new station["新庄"] = 0.0 station["升形"] = 7.5 station["羽前前波"] = 10.6 station["津谷"] = 12.9 station["古口"] = 17.0 station["高屋"] = 24.8 station["清川"] = 31.1 station["狩川"] = 34.9 station["南野"] = 38.9 station["余目"] = 43.0 station["北余目"] = 45.7 station["砂越"] = 48.7 station["東酒田"] = 52.0 station["酒田"] = 55.2 # ここまでは配列stationの中身。駅名がkey、酒田駅からの距離がvalue print("\n") # print("\n") print("\tチケット\n") print("\n") print("\n") if sta == arr print("

") print("※エラー※") print("

") print("出発と到着で同じ駅が選択されています
") print("前のページに戻り、やり直して下さい") print("

\n") else print("

乗車券
----------------------------------

") printf("

%s → %s間\n

",sta,arr) if station[sta] > station[arr] printf("

走行距離 %3.1f km",(station[sta] - station[arr]).to_f) printf("運賃 %d 円
",120+(station[sta] - station[arr]).to_i/2 * 20) else printf("

走行距離 %3.1f km
",(station[arr]-station[sta]).to_f) # 到着駅の方が庄内駅から遠いとき printf("運賃 %d 円
",120+(station[arr]-station[sta]).to_i/2 * 20) end # if station[sta] print("自由席\n") print("

\n") print("

----------------------------------

発券から3ヶ月間有効
") print("格安鉄道

") end # if sta=〜 print("\n") print("\n") (ticket.html) 最高の券売機

Let's buy ☆券売機☆

  • 始発駅を選択して下さい
  • 終着駅を選択して下さい
  • トップページ☆ 発券システム http://roy/~c110187/rubycgi/ticket.html B. 作成したロゴ logo_r2_c110187.png ロゴは自分のホームページ http://roy/~c110187/に貼りつけた。 http://roy/~c110187/index.html同様。 C.r2_c110187.pdf pdfは、http://roy/~c110187/ に貼りつけた。 /~c110187/advertise2/r2_c110187.pdf 考察 ブラウザ上で正しく表示されてるので問題は無いと言える。計算は合っていたが、データ本体で先に四捨五入してから計算したことが気になった。データ内の数字は小数点まで正確な数値で入力し、プログラム本体で四捨五入出来れば、もっと良くなったと思う。 感想 今回はとにかくやることが多かったのでとにかく大変でしたが、なんとか終わり ました。精一杯頑張ったので、評価のほどお願いします。 参考文献 先輩のレポート http://roy/~madoka/2010/r2/08/rpt/c108203.txt 基礎プログラミング I 第 8 回 「電子チケットを作ろう」 http://roy/~madoka/2011/r1/08/#filewrite 協力者 佐藤汰紀