第9回 基礎プログラミング II レポート課題 氏名:笹木郁哉 学籍番号:c1090791 語学クラス:英語1 コース(系):地域 1.A ラジオボタンを作成するには、 と入力する。 type で、ラジオボタンを設定する。1つだけ選ぶボタンである。 name は、使うラジオボタンを区別するものである。 value で、選んだ値がプログラムに送られる。 チェックされた項目をプログラム.rb で表示出来る。 B を入力することで作成出来る。 type で、チェックボックスを設定する。こちらは、選択肢をいくつか選べる。 name は、使用するチェックボックスを区別するためのものである。 value で、選んだ値がプログラムに送られる。 name="チェックボックスの名前"で決まったCGI変数の値を、プログラム.rbで 作成した配列に送られ、Webページでの表示が可能になる。 2.B a. プログラム問題ホームページのリンクのアドレス http://roy/~c109079/advertise2/rubycgi/fork.html b. 題名 : 「カーショップささき」 その意図 : ホームページで計算出来るCGIスクリプトプログラムを作成した。 c.作成したプログラム 「kuruma.html」
ご芳名:
「kuruma.rb」 #!/usr/koeki/bin/ruby require 'cgi' cgi = CGI.new("html4") print("Content-type: text/html; charset=EUC-jp\n\n") wheel = cgi["wheel"] kosuu = cgi["kosuu"].to_i money = cgi["money"] shimei = cgi["shimei"] print("\n") print("\n") print("
ご芳名:%s樣
", shimei) print("\n") if wheel == "ギャルソン「ツェンレイン : 17インチ」" w = 34000 elsif wheel == "ギャルソン「ツェンレイン : 18インチ」" w = 37000 elsif wheel == "シュティッヒ「レグザスD800 : 17インチ」" w = 14500 elsif wheel == "シュティッヒ「レグザスD800 : 18インチ」" w = 16000 elsif wheel == "ボルテック「エクストリームFX : 17インチ」" w = 35000 elsif wheel == "ボルテック「エクストリームFX : 18インチ」" w = 38000 elsif wheel == "ワーク「グノ−シスGS2 : 17インチ」" w = 50000 else wheel == "ワーク「グノ−シスGS2 : 18インチ」" w = 56000 end printf("
合計:%d円
",w * kosuu) print("御購入ありがとうございました。\n") if whell == "ギャルソン「ツェンレイン : 17インチ」" printf("4穴あります。") elsif wheel == "シュティッヒ「レグザスD800 : 17インチ」" printf("4穴あります。") elsif wheel == "ボルテック「エクストリームFX : 17インチ」" printf("4穴あります。") elsif wheel == "ワーク「グノ−シスGS2 : 17インチ」" printf("4穴あります。") else print("情報なし") end print("\n") print("\n") print("\n") d.解説 kuruma.html 代金引換 銀行振込 ラジオボタンをつくった。 最大半角20字までという指定をした。 submitであれば、送信画面にいき、resetであればリセットするようにした。 kuruma.rb wheel = cgi["wheel"] kosuu = cgi["kosuu"].to_i money = cgi["money"] shimei = cgi["shimei"] 受け取ったデータをそれぞれに代入する if wheel == "ギャルソン「ツェンレイン : 17インチ」" w = 34000 elsif wheel == "ギャルソン「ツェンレイン : 18インチ」" w = 37000 elsif wheel == "シュティッヒ「レグザスD800 : 17インチ」" w = 14500 elsif wheel == "シュティッヒ「レグザスD800 : 18インチ」" w = 16000 elsif wheel == "ボルテック「エクストリームFX : 17インチ」" w = 35000 elsif wheel == "ボルテック「エクストリームFX : 18インチ」" w = 38000 elsif wheel == "ワーク「グノ−シスGS2 : 17インチ」" w = 50000 else wheel == "ワーク「グノ−シスGS2 : 18インチ」" w = 56000 end もしwheelがギャルソン「ツェンレイン : 17インチ」だったら、wは34000にな っていく。 if wheel == "ギャルソン「ツェンレイン : 17インチ」" printf("4穴あります。") elsif wheel == "シュティッヒ「レグザスD800 : 17インチ」" printf("4穴あります。") elsif wheel == "ボルテック「エクストリームFX : 17インチ」" printf("4穴あります。") elsif wheel == "ワーク「グノ−シスGS2 : 17インチ」" printf("4穴あります。") else 上記で選んだものと文章が同じになるようにした。 e.実行結果 roy{c109079}% ./kuruma.rb [~/public_html/rubycgi] (offline mode: enter name=value pairs on standard input) wheel="ギャルソン「ツェンレイン : 17インチ」" kosuu="4" money="daibiki" shimei="fumiya" Content-type: text/html; charset=EUC-jpご芳名:fumiya樣
合計:136000円
御購入ありがとうございました。 4穴あります。 e.考察 roy{c109079}% bc -l [~/public_html/rubycgi] 34000 * 4 136000 quit 確かめ算を行った結果、計算があっているので正しいと言える。 f.題名 : bB 解説 : 愛車のbBである。 作った方法 : tgif & で作成した。 工夫した点 : 雑誌を見ながらリアリティーさを求め、時間をかけて作成 した。 基礎プログラミングのキャラクタ : char_r2_c109079.png 感想 プログラムの作成がとても難しくて困ったが、やったのはBだけだったが、、、 とてもいいプログラムが作成出来た。今回のテーマはカーショップのネット 販売で、ホイールの販売だった。自分は車が大好きでテーマも車で作成した キャラクタも愛車をしっかりと描く事が出来て、個人的には自己満足で楽し かったと思う。まだ、CGIは続くので難しいとは思うが、次回からの授業もし っかりと取り組みたい。 参考文献 西村まどか 基礎プログラミングII 第9回 CGIことえらび 「ラジオボタンの作り方」 http://roy/~madoka/2010/r2/09/09_04_theme_02_radio.html 「チェックボックスの作り方」 http://roy/~madoka/2010/r2/09/09_05_theme_03_checkbox.html 「テキストフィールドの作り方」 http://roy/~madoka/2010/r2/09/09_06_theme_04_textfield.html 「ファイルを使ってみよう」 http://roy/~madoka/2010/r2/09/09_08_theme_06_hashfile.html 基礎プログラミングI 第8回 電子チケットを作ろう 「色をつけよう」 http://roy/~madoka/2010/r1/08/08_11_review_06_colorandfonts.html 「CSSの色見本」 http://roy/~madoka/2010/r1/08/08_12_appendix_01_safecolor.html 共同学習者 奥山広大、青木千紗、酒井信一郎、横山広樹、永井絹人、 協力してくれた先輩 大沼拓海さん