Newer
Older
Ruby / j2218_last.rb
@TAKAHASHI Raito TAKAHASHI Raito on 21 Jan 2023 2 KB 2023-01-21 14:42:47
# coding: utf-8
#プログラムのテーマ
#カードの整理ができるプログラム
#プログラムの説明
#まずこのプログラムを作ろうと思った動機を説明します僕はカードゲームにハマっていているのですが、カードの整理ができないのでこのプログラムを作ろうと思いました。
#このプログラムは主にカードの追加と持っているカードを見ることができる2つのモードに分かれています。
#カードの追加のモードを選ぶと、行の名前を入力するとこから始まります。ここでは追加したいカードの頭文字の行をローマ字で入力します。するとその行の名前のcsvファイルが開かれます。次にカードの名前の入力をします。カードの名前を入力するとそのカードがcsvファイルに保存されます。
#持っているカードを見ることができるモードを選ぶと、行の名前をローマ字で指定することでその行のcsvファイルが開き指定した行の文字の頭文字のカードの名前を見ることができます。
#このプログラムの改善点
#・特定の記号を入力できないこと
#・同じ名前のカードを複数持っている場合、同じ名前が出てしまうこと
  #                          ⇓
              #カードの枚数で表記できるようにしたい
#他に思いついたプログラム
#・お金を管理するプログラム
#・ru-thi-n2.rb
#!/usr/bin/env ruby
# coding: utf-8
require 'csv'

puts("1.カードの追加2.持っているカードを見る")#このプログラムのモードを選びます 
bangou = gets.to_i
if bangou == 1                         #1を選んだ場合
  print("行の名前を入力してください(ローマ字で): ")#ローマ字で行の名前を入力 例:agyou  
  kado = gets.chomp
  file = kado +".csv"#csvファイルの名前を変数に入れる


  CSV.open(file,"a") do |c|
    printf("入手したカードの名前を入力してください:")
    ca = gets.chomp
    c << [ca]                      #カードの名前がcsvファイルに入る
  end
elsif bangou == 2           #2を選んだ場合
  puts("どの行のカードを見たいですか(ローマ字で入力してください)")
  kado = gets.chomp
  file = kado +".csv"
  cado = CSV.read(file,:headers => true)
  cado.each{|row|
    printf("%sを持っています。\n",row)}#選んだ行のカードの名前が出てくる
else
  puts("その選択肢はないよ")
end