changeset 2211:3e649609eb22

tenaoshi
author FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
date Tue, 11 Feb 2014 18:06:06 +0900
parents 9c57c08023e0
children 7cfbabdd4462
files nakamachi/data.rb
diffstat 1 files changed, 52 insertions(+), 28 deletions(-) [+]
line wrap: on
line diff
--- a/nakamachi/data.rb	Tue Feb 11 17:36:05 2014 +0900
+++ b/nakamachi/data.rb	Tue Feb 11 18:06:06 2014 +0900
@@ -9,16 +9,33 @@
 db = SQLite3::Database.new("sql/nakamachi.sq3")
 sql = Array.new
 
+srand(56384679263254687)
+10000.times {rand(1000000)}
+idlist = (1..50).collect{rand(10000000)} 
+idlist.sort!
+
 name = c['name']
 nen = c['nen']
 place = c['place']
 bin = c['bin']
 s = c['s'].to_i
+k = c['k'].to_i
 argv = c['argv']
 if ARGV[0] != nil
   argv = ARGV[0].to_i
+  k = 0
+  for hoge in idlist
+    if argv.to_i == hoge
+      break
+    end
+    k += 1
+  end
 end
 
+stores = ["八月","食い道楽","翡宛","ルポトッフー","RAVI","綾","井筒","MAR"]
+check = ["h","k","s","f","r","a","i","m",]
+#h:八月 k:食い道楽 s:翠宛 f:ルポット"フー" r:RAVI a:綾 i:綾 m:MAR
+
 printf"<html>\n
 <head><title>ほげ</title>\n
 <link rel=\"stylesheet\" type=\"text/css\" href=\"ほげ.css\">\n
@@ -27,53 +44,60 @@
 <h1>てすと用</h1>\n"
 result = db.execute("select * from coupon");
 
-#if argv == 
-if argv == "" 
+if idlist[k].to_i != argv.to_i
   print("ズルはだめですよ。\n")
 else
-if result.length >= 50
-  print"<h1>申し訳ありません</h1>
+  if result.length >= 50
+    print"<h1>申し訳ありません</h1>
 <p>クーポンはもう全て発行されてしまいました。</p>
 <p>またの機会にお待ちしております</p>"
-elsif s == 0
-elsif (name == "" || bin == "" || place == "") && s != 0
-  print"<p>入力エラー:抜けているところはありませんか。\n"
-elsif not(/\S+(市|町|村).+/ =~ place) || bin.to_s.length != 7 then
-  print"<p>入力エラー:間違っているところはありませんか。<br>\n
+  elsif s == 0
+  elsif (name == "" || bin == "" || place == "") && s != 0
+    print"<p>入力エラー:抜けているところはありませんか。\n"
+  elsif not(/\S+(市|町|村).+/ =~ place) || bin.to_s.length != 7 then
+    print"<p>入力エラー:間違っているところはありませんか。<br>\n
 住所は市町村から入力してください。\n郵便番号は\"-\"抜きの7桁で入れてください。" 
-else
-  sql = "insert into coupon values (?,?,?,?,?)"
-  db.execute(sql,argv,name,nen,place,bin)
-  add = "|mail -s 'skip mail' c111126@g.koeki-u.ac.jp"
-  open(add, "w") do |mail|
-    mail.print "氏名:#{name}\n郵便番号#{bin}\n住所:#{place}\n年代:#{nen}\n
-上記の情報で#{result.length+1}番目のクーポンが取得されました。"
+  else
+    k = k/5
+    sql = "insert into coupon values (?,?,?,?,?)"
+    cargv = check[k].to_s + argv.to_s 
+    begin 
+      db.execute(sql,cargv,name,nen,place,bin)
+    rescue
+      print "<p>一度使われた番号です。もう発行できません。\n</p>"
+    else
+      add = "|mail -s 'skip mail' c111126@g.koeki-u.ac.jp"
+      open(add, "w") do |mail|
+        mail.print "氏名:#{name}\n郵便番号#{bin}\n住所:#{place}\n年代:#{nen}\n
+上記の情報で#{result.length+1}番目のクーポンが取得されました。\n店舗は#{stores[k]}です。\n"
+      end
+      print "<p>登録されました。<br>クーポンは後日郵送されます。</p>"
+    end
   end
-  print "<p>登録されました。<br>クーポンは後日郵送されます。</p>"
-end
-
-s += 1
-print"
+  
+  s += 1
+  print"
 <form action=\"./data.rb\" method=\"POST\">\n
 <input type=\"hidden\" name=\"argv\" value=\"#{argv}\">
+<input type=\"hidden\" name=\"k\" value=\"#{k}\">
 <p>氏名<input type=\"text\" name=\"name\" value=\"#{name}\"><br>
 郵便番号<input type=\"text\" name=\"bin\" value=\"#{bin}\"><br>
 住所<input type=\"text\" name=\"place\" value=\"#{place}\"><br>
 年代<select name=\"nen\">
 <option value=\"20代未満\"> 20代未満\n"
-n = 20
+  n = 20
   4.times do
-  printf("<option value=\"%d代\">%d代\n",n,n)
+    printf("<option value=\"%d代\">%d代\n",n,n)
     n += 10
-end
-print"<option value=\"60代以上\">60代以上\n
+  end
+  print"<option value=\"60代以上\">60代以上\n
 </select>
 <br>
 <input type=\"hidden\" name=\"s\" value=\"#{s}\">
 
 <p><input type=\"submit\" value=\"GO\">\n
 <input type=\"reset\" balie=\"reset\"></p>"
-
-#result = db.execute("select * from coupon;")
-#puts result.length
+  
+  #result = db.execute("select * from coupon;")
+  #puts result.length
 end

yatex.org