このディレクトリの索引

# 出典 :: 【超初心者】プログラミング質問スレ【基礎】part3 #237 # プログラム初心者です。 # 寺の門徒のデータベースを作って管理したいと考えています。 # # データの項目としては # 故人のデータ:法名、俗名、命日(年月日)、年齢、続柄、世帯主 # 世帯主のデータ:氏名、住所、電話番号 # お布施のデータ:世帯主、金額、年月日、種類(月参り、会費、法事・・・) # (どのようにまとめたらいいかはまだ考え中です) # # やりたいことは、 # 1.2011年の年回忌(1,3,7,13,17、・・・)のデータを抽出して世帯主宛に案内の文面を作る # 2.故人のデータ(命日)から中陰表(七日毎のお参りの日程表)を作る # 3.会計 # # 故人のデータや世帯主のデータはExcelで入力済ですが、 # そこから簡単に(数クリックで)1.2のようなことができないかと考えています。 # どのようなプログラムを使えばよいのでしょうか? # 寺名(大徳寺芳春院). '2017年の年回忌(1,3,7,13,17、・・・)のデータを抽出して世帯主宛に案内の文面を作る' :- '2017年の年回忌データの抽出'([1,3,7,13,17,23,27,33,50],_2017年の年回忌データならび), 回忌案内の作成(_2017年の年回忌データならび). '2017年の年回忌データの抽出'([],[]) :- !. '2017年の年回忌データの抽出'([_回忌|R1],[[_回忌,_年回忌データ]|R2]) :- '2017年の年回忌と命日の年変換'(_回忌,_命日の年), findall([_法名,_俗名,_命日,_年齢,_続柄,_世帯主,_住所,_電話番号],( 故人情報(_命日の年,_法名,_俗名,_命日,_年齢,_続柄,_世帯主,_住所,_電話番号)),_年回忌データ), '2017年の年回忌データの抽出'(R1,R2). '2017年の年回忌と命日の年変換'(1,2016) :- !. '2017年の年回忌と命日の年変換'(_回忌,_年) :- _年 is 2017 - _回忌 + 1,!. 故人情報(_命日の年,_法名,_俗名,_命日,_年齢,_続柄,_世帯主,_住所,_電話番号) :- 故人のデータ(_法名,_俗名,_命日,_年齢,_続柄,_世帯主), sub_atom(_命日,0,4,_,_命日の年), 世帯主のデータ(_世帯主,_住所,_電話番号). 回忌案内の作成([]) :- !. 回忌案内の作成([[_回忌|_回忌データならび]|R]) :- 回忌を指定して回忌案内の作成(_回忌,_回忌データならび), 回忌案内の作成(R). 回忌を指定して回忌案内の作成(_回忌,[_回忌データ|R]) :- 世帯主宛に案内の文面を作る(_回忌,_回忌データ), 回忌を指定して回忌案内の作成(_回忌,R). 世帯主宛に案内の文面を作る(1,[_法名,_俗名,_命日,_年齢,_続柄,_世帯主,_住所,_電話番号]) :- 寺名(_寺名), writef('一周忌法要のご案内\n%w様御中\n今年は故%w様(法名%w)の一周忌のご法要の年となりました。\n%wでは檀家の皆様が故人を偲び\n仏様と故人、そして皆様のめぐりあいの場として\n一周忌法要の準備を整えております。\nここにご案内申しあげます。\n',[_世帯主,_俗名,_法名,_寺名]),!. 世帯主宛に案内の文面を作る(_回忌,[_法名,_俗名,_命日,_年齢,_続柄,_世帯主,_住所,_電話番号]) :- 寺名(_寺名), 回忌の数字変換(_回忌,_回忌漢字表現), writef('%w回忌法要のご案内\n%w様御中\n今年は縁深き故%w様(法名%w)の%w回忌のご法要の年となりました。\n%wでは檀家の皆様が故人を偲び\n仏様と故人、そして皆様のめぐりあいの場として\n%w回忌法要の準備を整えております。\nここにご案内申しあげます。\n',[_回忌漢字表現,_世帯主,_俗名,_法名,_回忌漢字表現,_寺名,_回忌漢字表現]). 回忌の数字変換([1,3,7,13,17,23,27,33,50],[一,三,七,十三,十七,二十三,二十七,三十三,五十]). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 故人のデータ(死死死死生生生生居士,尾崎隆大,'20111009',38,長男,尾崎作蔵). 世帯主のデータ(尾崎作蔵,'京都市右京区花園天授ケ岡888','075-444-9999'). /* '中陰表(七日毎のお参りの日程表)を作る'(_中陰逮夜,_故人の命日,_中陰逮夜日) :- 中陰逮夜(_中陰逮夜), 中陰逮夜(_中陰逮夜,_故人の命日,_中陰逮夜日). 中陰逮夜(初七日,_命日,_初七日) :- '5日後'(_命日,_初七日). 中陰逮夜(_初月忌,_命日,_中陰) :- '翌月の同日'(_命日,_中陰). 中陰逮夜(_満中陰,_命日,_中陰) :- 中陰逮夜(百箇日,_命日,_中陰) :- 中陰逮夜(_中陰,_命日,_中陰) :- sub_atom(_中陰,2,1,_,日), sub_atom(_中陰,0,2,_,_数字漢字表現), list_nth(Nth,[二十七,三十七,四十七,五十七,六十七],_数字漢字表現), list_nth(Nth,[27,37,47,57,67], N_1 is N - 1, 'n日後'(N_1,_命日,_中陰). 中陰逮夜(初七日). 中陰逮夜(二七日). 中陰逮夜(三七日). 中陰逮夜(四七日). 中陰逮夜(初月忌). 中陰逮夜(五七日). 中陰逮夜(六七日). 中陰逮夜(満中陰). 中陰逮夜(百箇日). */