• 締切済み

ファイルを読み込み、各メニューの処理

複数の生年月日が用意されたファイル(.txt)を読み込み、それを各メニューごとで処理する、各メニューの処理は別関数で作成するという問題なのですがさっぱりわかりません。また、localtime関数を使用するのですがさっぱりわかりません。ご教授を御願いします。 [読み込みファイル(.txt)内容] A君,1965,11,02 B君,1988,07,23 c君,1980,01,03    :    : 処理内容 [メニュー] 1.誕生日からの本日までの経過日数  2.誕生日の曜日 3.現在日より誕生日の近い順 4.終了 処理後は[メニュー]処理に戻ります。 ※すべての処理にはlocaltime関数を使用します。 [表示内容] 1.(例)A君9999日 2.(例)A君月曜日 3.(例)9月9日生まれ(誕生日まであと999日) 表示後は[メニュー]画面に戻ります。 以上です。

  • nazoC
  • お礼率100% (4/4)

みんなの回答

  • ilice
  • ベストアンサー率50% (3/6)
回答No.1

どこがわからないのかがわかりませんがとりあえず処理内容だけ記述してみます main関数orデータ読み込み関数{ テキストデータ読み込み 誕生日データ引渡し } 経過日数関数{ データ受け取り 計算日時の暦時間取得 localtime関数で現地時間に変換 今日-誕生日で差分計算 計算結果を出力 main関数かグローバル関数にでも結果出力 ↑0~読み込み人数-1までに計算したデータにあわせて出力格納 } 曜日計算関数{ データ受け取り 今日の日付+曜日を取得 経過日数と同じように計算←経過日数受け取ったほうが早いかも 経過日数から曜日を割り出す 結果を出力 main関数かグローバル関数にでも結果出力 ↑0~読み込み人数-1までに計算したデータにあわせて出力格納 } 誕生日が近いデータ判定関数{ データ受け取り 現在の日付取得(月日) ループ{ 読み込んだ誕生日のデータと日付照合 もし合致したら差分を計算して適当な変数(グローバル変数とか)に格納 全員合致したら終了(うるう年の計算はご自由に) } 計算結果出力 } main関数に値を返すとかは書いてないので大まかな流れはこんなかんじでいいと思いますけど 上記の処理で違う点があったら補足してください

nazoC
質問者

お礼

 お返事が遅れまして、申し訳御座いませんでした。 記述どおりに行えば、解決致しました。 有難う御座いました。

関連するQ&A

  • BAT処理でファイル名の変更

    BAT処理で複数ファイルの名前変更を自動化させたいのですが、うまくいかず困っております。 [変更前ファイル名]  0000001234_20140731.txt ・・・ 桁数固定のID+アンダーバー+年月日.txt [変更後ファイル名]  ID1234DATE20140731_0000001234_20140731.txt   ・・・ "ID" + IDのゼロサプレス + "DATE" + 年月日+ アンダーバー +元ファイル名 これらの処理を同じディレクトリ内のファイル全てに行うにはどのようにすればよろしいでしょうか? ご指導頂けますよう宜しくお願い致します。

  • PHPで同ページ内の外部ファイル表示切替の方法。

    初めて質問します。 PHPを利用し、同ページ内で、外部ファイルの表示切り替えをしたいのですが、PHPを覚えたばかりでうまくできません。 下記のような形でページ内で切り替え表示させるには、どうしたらいいのでしょうか。 ------- メニュー:<a href="a.txt">A</a> <a href="b.txt">B</a> <a href="c.txt">C</a> <?php require_once("./外部ファイル.txt"); ?> ----- 外部ファイル.txt の部分を、メニューのリンクに合わせて、a.txt、b.txt、c.txtのように、同ページ内で切り替え表示がしたいです。 リンクを<a href="index.php?~">と言う形にし、<?php require_once("./外部ファイル.txt"); ?>の中にif関数を入れればいいのではないか… と思っているのですが、どの関数をどのように組み合わせればいいのかが、お恥ずかしながらわかりません。 どなたか、教えていただけるとうれしいです。よろしくお願いします。

    • 締切済み
    • PHP
  • CFile::Renameで書き込み途中のファイルがリネームされて困っ

    CFile::Renameで書き込み途中のファイルがリネームされて困っています。 ファイル書き込み中のファイルはリネームしない方法はあるのでしょうか? ファイルのリネーム(CFile::Rename)関数を使用してフォルダ内にあるファイル名をリネームする処理を作成しています。 フォルダ内にはA_で始まるファイルが複数存在し、一定周期で別のスレッドからA_で始まるファイルが書き込まれている状態です。 私が作成している処理は、そのフォルダにA_で始まるファイルが存在する場合に、A_をRename関数でB_にリネームしています。 ここで、別スレッドがA_で始まる新しいファイルを書き込みしている最中に私が作成している処理でRename関数が実行されると、基本的にはExceptionが発生するのですが、Exceptionが発生せずに書き込み途中のファイルがRenameされてしまっています。 1.A_XXX001.txtに書き込み中(100行目まで書き込み完了) 2.Rename処理が実行される。 3.B_XXX001.txtが作成される(100行目までのファイル 作成日:2010.02.04 10:00) 4.その後もA_XXX001.txtに書き込みが行われ200行目まで書き込んで終了 (作成日:2010.02.04 10:02) 結果:B_XXX001.txtファイルは不完全なファイルとして作成されてしまっています。 このような現象が起こってしまっています。 どなたかご教授願います。

  • 処理結果をファイルへ・・・

    set MUCHDAY = `grep $TODAY PDXFGKS.TXT` の結果を、ファイルに書き出したいのですがうまくいきません。 (MUCHDAYは内部変数です) 方法をご存じの方お教え下さい。 (尚、ディレクトリは関数の最初で移動していて、 移動した先にそのファイルを作りたいのです。 その後この様な処理をかませたいので・・・) set EDPTODAY = `more PDXFGKS.TXT | awk -F, '{print $1}'` if($HOLIDAY == "H")then echo "休日シェル作動" else echo "平日シェル作動" endif (PDXFGKS.TXTが結果内容を入れたいファイルです)

  • ファイル移動処理(コマンドプロンプト batファイル)

    ファイル移動処理(コマンドプロンプト batファイル) .batファイルでファイル名に日付がついたファイル(例:yyyymmdd_test.txt)の最新日付から2世代前のファイルまでをディレクトリに移動するような処理を記述したいのですが、やり方がわかりません。 例) 20100924_test.txt →移動対象外 20100925_test.txt →移動対象外 20100926_test.txt →移動対象 20100927_test.txt →移動対象 20100928_test.txt →移動対象 今、この下記の様に記述をしていますが意図した処理になりません。 どなたか助言を頂けないでしょうか? -------------------------------------------------------- mkdir temp set num=0 for %%f in (????????_test.txt) do ( set /a num+=1 if %num%==1 move %f% \temp\%f if %num%==2 move %f% \temp\%f if %num%==3 move %f% \temp\%f )

  • 【VB2005】txtファイルからINIファイルみたいに読込む

    googleや、ITプロのサイトなどで VB2005のINIファイルもしくはXmlの読書きが理解できずに、 とりあえず、txtファイルから設定の読込みをしたいと考えてます。 ↓Text.txt↓の内容 [Mode] Mode=1 [SYSTEM] Menu1=登録処理 Menu2=保存処理 ・各、=(イコール)のあとの値を変数に代入したいと思ってます。  状況と、したいことが伝わりにくいかも知れませんが  ご口授お願いします。

  • ファイル確認ツールにおいて

    使用OS:Win2000Pro あるフォルダ内のファイルのサイズと数をチェックするツールがないか探しています。なんとかフリーのツールがあればなと・・・。 組み合わせでもいいのですが、毎日のチェックに使用したいのです。 例:Aのフォルダには、A1~A10までのフォルダがあり、   その各フォルダ内のそれぞれには、数個のファイルがあります。   A1のフォルダであれば、   A101.DAT(フォルダ名+01.DAT) ~   A150.DAT(フォルダ名+50.DAT)まであります。   で、ある処理を行うとファイル名.TXTのファイルが出来ます。   A101.DATであれば、A101.TXTのように。   そこで、DATの数とTXTの数が同じかチェックが行えることと、   ファイルのサイズのチェックを行いたい。   TXTファイルは処理が正常時には、ファイルサイズが0KBで   異常時は、0KBではない。 いろいろ探してはいるのですが、なかなか見つからなくて。 よろしくお願いいたします。

  • バッチ処理でファイルを一つにまとめる

    フォルダ内にツリー状に振り分けられた数千個のファイルのうち その中からエクセルに記載された数百~数千個の同じファイル名のもののみ取り出して 別のフォルダ内に一箇所にコピーして集めたいです。 エクセルのセル、A列には、ファイル名のみ記載されております aaa.txt ccc.txt ggg.txt hhh.txt kkk.txt mmm.png 上記ファイル名だけ書かれている状態で フォルダ構成の例としては mainフォルダ │ ├aフォルダ │└ mmm.png │ ├bフォルダ │└ bbb.txt │ ├cフォルダ │ │ │ ├eフォルダ │ │├ccc.txt │ │└fff.txt │ │ │ └fフォルダ │  ├ddd.txt │  │ │  └gフォルダ │   └aaa.txt │ └dフォルダ  ├eee.txt  └nnn.png 上記のような感じです。 エクセルに記載されているファイル名には、フォルダ内には存在しないものも書かれていることもあります。 またツリー状に振り分けられたフォルダ内のファイル名には重複するものはありません。 移動させたい場所の例としては 外付けHDD_A の中のmainフォルダ内から(ツリー状に振り分けられている) 外付けHDD_B の中のmatomeフォルダ内に移動させたいです(一箇所にあつめる) どちら様かご教授お願いします。

  • 複数のテキストファイルを1つにまとめる

    同一フォルダ内にある複数のテキストファイルの内容を1つにまとめる方法を探しております。 例えば、 a.txt, b.txt, c.txt が同一フォルダにあり、 それぞれの内容が AAA BBB CCC である時に、これらをまとめて matome.txtとして、その内容が AAA BBB CCC となるようなプログラムを書きたいのですが、どの様な方法が考えられますでしょうか。 上の例では3つのテキストファイルですが、実際に処理したいファイルは数百個になる為、一つ一つファイル名を入力する作業が大変で困っております。 同一フォルダ内のファイルをファイル名順に一度に読み込み、まとめる方法がありましたらお教え下さい。

  • バッチファイル 2ファイルをfor /f処理したい

    バッチファイルで別の2つのファイルを読み込んでfor /f処理するには 変換前のファイルのファイル名と 変換後のファイルのファイル名が それぞれ別のファイルに書かれていて この2つのファイルを読み込んで リネームするバッチファイルを 記述したいのですが 2つのfor /fを使った場合、 一方が他方にネストされてしまうのですが このような場合は どのように記述するのでしょうか。 例えば、 変換前のファイル名が書かれたファイル(s.txt)と 変換後のファイル名が書かれたファイル(d.txt) がある場合、 abc.txtをqrs.txt d f.txtをtuw.txt ghi.txtをx z.txt  : にリネームしたいのですが もちろんtest1.batではうまくいきません。 ---test1.bat------------------- for /f %%a in (s.txt) do for /f %%b in (d.txt) do ren "%%a" "%%b" ------------------------------ ---s.txt---------------------- abc.txt d f.txt ghi.txt : ---d.txt---------------------- qrs.txt tuw.txt x z.txt : ------------------------------ 以下の sd.txt のように1つのファイルにして test2.bat のようにすればできますが s.txt と d.txt の2つのファイルのままで処理するには どのように記述すればよいのでしょうか。 ---test2.bat------------------- for /f "tokens=1,2 delims=," %%a in (sd.txt) do ren "%%a" "%%b" ---sd.txt---------------------- abc.txt,qrs.txt d f.txt,tuw.txt ghi.txt,x z.txt : ------------------------------- よろしくお願いします。(Windows7)