# coding: utf-8 #このプログラムは、予定を書き込み、その予定を教えてくれるプログラムです。 #1を選択するとaモードを使ってcsvファイルに打ち込んだ内容が入力されます。 #2を選択すると1で入力した予定が表示されます。 #3を選択するとwモードでcsvファイルの中身を消し、リセットします。 #whileを使って処理をすると戻るようにし、 #見やすいようにputsで空白を作って4を選択でプログラムが終了します。 #中間発表のものから予定を書き込む機能、予定を削除する機能をつけましたが、 #「1日経過した」を入力すると勝手にcsvファイルの中身を1日分ずらすなどといった機能をつけたかったです。 #他のアイデアは複数のcsvファイルを使って、このプログラムと同じ方法で、 #みんなに自分のお気に入りの漫画や料理を打ち込んでもらって、 #それを見たり、タグをつけて検索できたりするプログラムだったり、 #ワークなどは、1度書き込むともう一度やりにくいものがあるので、 #その問題をcsvファイルの中に保存して何度でもできるようにするなどが思いつきました。 # coding: utf-8 #Encoding.default_external = `utf-8` # csvファイルがutf-8のとき puts"これは予定を教えてくれるプログラムです" while true require "csv" puts" " puts"予定を書き込みたかったら1を" puts"予定を知りたかったら2を" puts"予定をリセットしたかったら3を" puts"終了したかったら4を押してください" sentaku = gets.chomp if sentaku == "1" puts"日にちを入力 例)1月1日" hinichi = gets.chomp puts"曜日を入力 例)月曜日" youbi = gets.chomp puts"予定を入力 例)学校" yotei = gets.chomp CSV.open("last.csv","a")do|row| row<<[hinichi,youbi,yotei] end redo elsif sentaku == "2" puts"これが予定です" date = CSV.read("last.csv",:headers => true) n = 0 date.each{|row| printf("%d: %s %s %s\n",n+=1,row["hinichi"],row["youbi"],row["yotei"]) } redo elsif sentaku == "3" CSV.open("last.csv","w")do|row| row<<["hinichi","youbi","yotei"] end redo elsif sentaku == "4" puts"終了します" break end end