Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. # coding: utf-8
  2. LineData = Struct.new(:todofuken, :shiten, :uriage)
  3. ShitenUriage = Struct.new(:shiten, :uriage)
  4. csvArray = []
  5. shitenArray = []
  6.  
  7. def printShitenArray key, shitenArray
  8. shokei = 0
  9. for i in 0...shitenArray.size
  10. print '<tr>'
  11. if i == 0
  12. print "<td rowspan=#{shitenArray.size+1}>#{key}</td>"
  13. end
  14. print "<td>#{shitenArray[i].shiten}</td>"
  15. puts %Q!<td align="right">#{shitenArray[i].uriage}</td></tr>!
  16. shokei += shitenArray[i].uriage
  17. end
  18. print %Q!<tr><td align="center">[小計]</td>!
  19. puts %Q!<td align="right">#{shokei}</td></tr>!
  20. end
  21.  
  22. key = nil
  23. while line = gets
  24. todofuken, shiten, uriage = line.split(',')
  25. line = LineData.new(todofuken, shiten, uriage.to_i)
  26. csvArray << line
  27. end
  28. if csvArray.size == 0
  29. # 0行の時の処理を行い、プログラムを終了する
  30. end
  31. puts '<table border="1">'
  32. puts '<tr><th>都道府県</th><th>支店名</th><th>売上高(千円)</th></tr>'
  33. goukei = 0
  34. for i in 0...csvArray.size
  35. if i == 0
  36. key = csvArray[i].todofuken
  37. else
  38. if key != csvArray[i].todofuken
  39. printShitenArray(key, shitenArray)
  40. shitenArray = []
  41. key = csvArray[i].todofuken
  42. end
  43. end
  44. shitenArray << ShitenUriage.new(csvArray[i].shiten, csvArray[i].uriage)
  45. goukei += csvArray[i].uriage
  46. end
  47. printShitenArray(key, shitenArray)
  48. print %Q!<tr><td colspan="2" align="center">合計</td><td align="right">!
  49. puts "#{goukei}</td></tr>"
  50. puts '</table>'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement