修谱王编修家谱的基本版式有哪些?

栏目:资讯发布:2023-10-02浏览:1收藏

修谱王编修家谱的基本版式有哪些?,第1张

修谱王软件是一款可以帮助您修改家谱的软件,你可以在软件上建立新的家谱,可以编辑家谱的全部信息。

1、输入用户名,密码完成系统用户登录操作。如图所示

2、登录成功后弹出修谱王主页面,点击高级功能-家谱预览导出,弹出如下家谱信息展示页面。如下图所示:

3、点击欧式左右开,选择数据设置、显示设置、确定。如图所示

4、点击牒记式右开、牒记式头像版右开、牒记式世代居上版右开,选择右边数据设置、显示设置、确定。如图所示

5、点击十代图右开,选择版式、数据设置、显示设置、确定。如图所示

6、点击五代图右开,选择版式、数据设置、显示设置、确定。如图所示

7、家谱版式,是根据家族需求来决定家族版式。

附录一:揭氏祖训

〖揭氏家规〗

据《石城揭氏宗谱》卷三《志家规》载:“安道之家风,固以武功赐姓”、“豫章之世德,胥以忠孝传家”。查阅其宗谱,安道之风犹存,忠孝之道传家。

一、孝悌之训

宗谱生动描述了子女从“母血父精”始,“十月孕成”,“子始生时,魂飞魄惊。肠如刀割,命在幽冥”的情景。后经“三年乳哺”,“手抱带绸”,“席不安眠”;“能行惯走,又忧跌倾”;“忧其致疾,拜佛求僧”;“父为子计,百虑经营。”父母为子女,真是费尽了心机。宗谱教育后代,在父母的“百年垂老”时,应尽儿女的赡养、孝敬之道,即使是“贫难具物”,“半炙杯羹”,“承欢是孝”。儿女有钱,对父母并不是“财谷丰盈”就够了,而是应该“毋假婢仆,事心亲身”。“博亲一笑,胜于三牲。”

对兄弟姐妹,要“亲之骨肉”,“亲爱姐妹,恩及其甥”。“吾兄亲子,毋以少陵,让梨推枣,肩随雁行”。“长兄犹父,长嫂母焉。事必禀命,勿以争杈。吾弟亲儿,骨肉相连,饮食教诲,又以烝烝。”

对亲人故去,“亲故之日,抱恨终天”。“衣衾棺榔,各宜慎旃。”“葬祭虞祥,式礼莫愆。”对于昔己故去的先人,也要“报以尝烝”。

二、闺门之训

训词中明显有鄙视妇女的封建思想残余,认为“古来家祸;悉由妇人。子未娶妻,事亲怡然。一为妻惑,德色谇言。子未娶妻,·骨肉恩联,一为妻惑,析寡分田。”宗谱中教育后代治家之道是“义正为先”,“闺帏燕好,敬如宾筵”。不要计较赀钱“谁多谁少”,“一言一动,正率无偏。”“教老礼宾,察畜鸡豚”。家中的妇女,要“各司职业”,“苦劳均任”。“眠则俱眠,衣食均匀”,“服毋求鲜”,艰苦朴素。对于同乡的妇女,常常“长舌便便”,不要与她们“说人长短”,这是萌生是非之地。宗谱以“商卒周姒”为历史镜子,教育后代不要迷于女色,“美婢娇妾,纵欲流连。商卒周姒,亡镜高悬”。

三、农桑之训

训词教育子孙要勤耕力业,最忌的是养尊处优,不事家业。“胡弗安逸,履后席丰。诚以人心,最怕养慵。一无所用,驰逐难穷。”家训还告诫后代,不是事农,就是求仕,‘两途之外,异端勿攻。”“况尔愚贱,本非素封。一夫不耕,饥啼于宫。一日不积;寒号于童。”宗谱还说,要勤俭持家,“克勤克俭,财用乃通。务留有余,可以御冬。量入为出,毋至匮空。”宗谱中还讲明了小与大、穷与富、积与败的辩证关系。“毋嫌利小,务本有终。积小成大,富可千钟。积之艰苦,败亦从容。”“安闲习惯,奢侈为雄。纵有所得,其败无踪。何如守份,作田舍翁。”“既耕还读,乐在其中。”

四、诗书之训

家训开章明义说明了读书的重要性。“一不读书,遂锢于欲。不孝不慈,不悌不睦。犯上作乱,将赤吾族。骄*奸宄,身亡家复。凡百祸端,皆教不肃。”

宗谱中还有一句掷地有声的名言:“家敦诗书,胜积财谷。”“毋以家贫,学能致禄。”“毋恃家富,富勿纵欲。富不好礼,如牛似犊。”还告诫说,荣禄官爵,要靠个人奋斗,不能靠钱去买。“买爵公廷,终难免俗。”在教育子女上,不要以子女天资的贤愚,而轻易决定是否让子女读书,“毋以子愚:,辄废卷轴”,贤而不勤,“乃免放逐”。只有这样,才能“况我家声,书香继续”,“耀祖光宗”,“世家青箱,斯为望族。”

五、非为之诫

宗谱的诫词;是充满辩证思想的。诫曰:“人有不为,而后有为”。非为之诫提及的是诫毒、诫赌、诫饮酒游猎。“嗟彼洋烟,出在四夷。诱人之始,无贤与愚。”“渐染日久,毒入心脾。”“富人典业,贫子典妻。”“终年皆卧,荒业废时。”“嗟嗟夷祸,莫烈于斯”。

“不睡烟床,是好儿孙。”另外,赌也是害子害孙的祸害。“兄弟嬉戏,同场共赌。“输赢千万,厥算无涯。赢则浪费,嫖饮无遗。输则回家,卖子倾赀。”“更有恶者,财丧命随。阴功丧尽,害及子孙。”宗谱还特别提到,酒饮无度,嬉戏游猎,“亦同此讥”。“凡诸非为,戚莫自贻。”

六、争讼之诫

诫词规诫子孙:“祸起于微”。凡事要忍让,不要因为“些小事情,强为较此”,“忿在一朝,祸及兄弟”,“不慎不忍,讼由兹起”。要有宽广的胸怀,“纵我有理,何妨让彼”,“冤结愈深”,要回过头来言归于好就很难了。

七、佛事之诫

诫词告诫子孙在长者死后,只要遵照揭氏家礼“祭奠殡藏”、“惟尽悲怆”就行了,“不作佛事”。宗谱说,佛家“谓人死后,百刑难当。必仗佛法,释愆玉皇,超度出身,乃生天堂。少欠官钱,凭佛填偿。”这是吓人的谎话。“大开道场,三日四宵,致斋休粮,打沙过炼,锣角叮当”。这样做是“易悲为喜”,“伤财败俗”,“见笑大方”。

宗谱还说,对于小儿得病,弄神作鬼,也是十分荒唐的。宗谱认为,“小儿得病,赎魂彷徨。谓被魂魄,窃走他乡。投胎出世,作人儿郎。必靠仙奶,赎魂返房。捉坐替死,说更荒唐。”宗谱还颇有唯物主义成份,认为“魄为形质,魂是气扬。魂气既散,焉能返降”“魂魄何物,岂能捉攘?”认为只有那些愚昧的妇姨才相信这些鬼话。宗谱还大声疾呼要“读书识礼”,“弗为迷诳。”

八、悖逆之诫

主要教育子孙不要犯上作乱,这与揭氏家族由帝赐姓,以忠孝治家的思想是相吻合的。

能输入的字太少了。我就简单和你说下吧!1谱名2谱序3谱例4谱论5恩荣录6像赞、遗像7姓氏源流8族规家法9祠堂10五服图11世系12传记13谱系本记14族产15契据文约16坟茔

17名迹录18任宦记写不下了字满了

我是襄阳的我们这的白氏字辈:群生景正 存宗广继 之子序立 书怀名传 族纲万代 一致亲爱 树言本直 心中天平 谨守教训 家门光荣 嗣起盛强 宝属厚望 。我是宗字辈

C++语言: 二叉树实现的简单家谱树

/

File Name: BiTreecpp

Author: Geng Lequn[glq2000@126com]

Thur July 1 2010

Discription: 建立二叉家谱树,实现输入任意两个人的名字,查找得到其关系

/

#include <iostream>

#include <string>

#include <cstring>

#include <cstdlib>

#include <vector>

#include <mathh>

using namespace std;

typedef struct _Node

{

string sex; //性别 m 男; f 女

string name; //此人的姓名

string spause; //配偶的姓名

unsigned short level; //层次 辈分最高一层为1,下一层为为2,以此类推

struct _Node l_child; //指向其第一个孩子的指针

struct _Node r_brother; //指向其某一个兄弟姐妹的指针, 即左孩子为其后代,右孩子为其兄弟姐妹

struct _Node btr; //指向其父亲或者母亲的指针

_Node():level(0),l_child(NULL),r_brother(NULL),btr(NULL){cout<<"constructor"<<endl;}

~_Node(){cout<<name<<" destructor"<<endl;}

}Node, PNode;

void CreateBiTreePreOrder(PNode &pn, PNode pback, unsigned short depth);//建立二叉家谱树,以先序方式

void VisitBiTreePreOrder(PNode root); //前序遍历此二叉树

void TellRelation(PNode root); //判断两人关系

void DestroyBiTreePostOrder(PNode root); //销毁二叉树,释放节点占用的空间

void FindPersonMiddleOrder(PNode root, string name, PNode &presult); //返回家谱中指向某人的指针,找不到返回NULL

Node root=NULL; //全局变量,二叉树的根节点

unsigned findPersonFlag = 0; //标志位,0 没找到; 1 找到,找到后就不再搜索直接返回;利用此flag可避免将整个tree遍历一遍(若该name在tree中存在的话)

int main()

{

cout<<"请按先序遍历的顺序根据提示输入家谱信息,不存在则输入\"#\""<<endl;

CreateBiTreePreOrder(root, NULL, 1);//建立二叉家谱树,以先序方式

VisitBiTreePreOrder(root); //前序遍历此二叉树

TellRelation(root); //判断两人关系

DestroyBiTreePostOrder(root); //销毁二叉树

getchar();getchar();getchar();

return 0;

}

/

function:建立二叉家谱树,以先序方式

argument:

pn: 指向二叉树节点的引用

pback: pn这个节点的btr指针的值,即指向其parent的指针

depth: 该节点的层次,分最高一层为1,下一层为为2,以此类推

/

void CreateBiTreePreOrder(PNode &pn, PNode pback, unsigned short depth)

{

string str;

cin>>str; //输入该人信息,格式是 sex-name-spausename,如不存在则输入#

if(str == "#") //如: M-tom-marry, 表示此人叫tom, 男性, 配偶名字marry

{

pn = NULL;

return;

}

//如果是自定义的struct/class,应该使用构造函数。如果是内建数据类型,

//比如int,应该memset。 当然,更好的建议是使用vector取代new出来的数组

pn = new Node;

//处理输入的字符串

vector<string> v;

for(size_t b=0, e=strfind('-'); ; e=strfind('-', b))

{

if(e == string::npos)

{

vpush_back(strsubstr(b));

break;

}

else

vpush_back(strsubstr(b, e-b));

b = e+1;

}

//初始化该节点

pn->sex = v[0];

pn->name = v[1];

pn->spause = v[2];

pn->btr = pback;

pn->level = depth;

//递归建立左右子树的节点

CreateBiTreePreOrder(pn->l_child, pn, depth+1); //注意后两个参数的值

CreateBiTreePreOrder(pn->r_brother, pback, depth); //注意后两个参数的值

}

/

function: 前序遍历此二叉树

/

void VisitBiTreePreOrder(PNode pn)

{

if(!pn)

return;

cout<<endl<<"sex:"<<pn->sex<<endl;

cout<<"name:"<<pn->name<<endl;

cout<<"spause:"<<pn->spause<<endl;

cout<<"level:"<<pn->level<<endl;

cout<<"father's name:"<<((pn->btr == NULL)"NULL":pn->btr->name)<<endl;

cout<<"======================"<<endl;

VisitBiTreePreOrder(pn->l_child);

VisitBiTreePreOrder(pn->r_brother);

}

/

function: 中序遍历找到家谱中的一个人,返回其指针,若找不到,返回NULL

isSpause 1表示是找到的节点的配偶 0表示不是所找到的节点的配偶

/

void FindPersonMiddleOrder(PNode pn, string name, PNode &presult)

{

if(!pn)

return;

FindPersonMiddleOrder(pn->l_child, name, presult);

if(findPersonFlag) return;

if(name == pn->name || name == pn->spause)

{

presult = pn;

findPersonFlag = 1; //全局标志位,0 没找到; 1 找到,找到后就不再搜索直接返回;利用此全局flag可避免将整个tree遍历一遍(若该name在tree中存在的话)

return; //下次使用前不要忘记置为0

}

FindPersonMiddleOrder(pn->r_brother, name, presult);

}

/

function: 判断两人关系,若两人中至少一人不在树中,则两人无关系

若两人在树中,先判断两人是否同层次,若同层,判断是否是亲兄弟姐妹;

若不同层,设辈分大的人为A,辈分小的人为B,判断A和B是亲的还是表的,

比如,A为男性,且比B大一倍,判断A是否为B的爸爸,或亲叔叔(舅舅),或表叔叔(舅舅)

简单起见,此处没有区分是叔叔还是舅舅

比如,A为男性,且比B大两倍,判断A是否为B的亲爷爷(姥爷),或亲爷爷(姥爷)的亲兄弟

,或亲爷爷(姥爷)的表兄弟

简单起见,此处没有区分是叔叔和舅舅等做进一步区分

简单起见,查询时只输入节点中的name,不查询spause,否则处理起来太麻烦

/

void TellRelation(PNode pn)

{

string name1, name2;

//p1指向name1, p2指向name2, pbig指向辈分大的,psmall指向辈分小的

PNode p1 = NULL, p2 = NULL, pbig = NULL, psmall = NULL;

int differ = 0; //两人辈分数的差别

string title;

Label:

cout<<endl<<"输入想查询关系的两个人的名字,不想查则将两人名字输成#:"<<endl;

while(cin>>name1 && cin>>name2)

{

if(name1=="#" && name2=="#") return;

p1 = NULL; p2 = NULL; //因为程序是循环执行的,需要将上次遗留的值清掉

findPersonFlag = 0;

FindPersonMiddleOrder(root, name1, p1);

findPersonFlag = 0;

FindPersonMiddleOrder(root, name2, p2);

if(!p1 || !p2) //若有一个为空或都为空,说明至少有一个人不在家谱中,故两人无亲缘关系

{

cout<<name1<<((!p1)" 不在":" 在")<<" 家谱树中"<<endl;

cout<<name2<<((!p2)" 不在":" 在")<<" 家谱树中"<<endl;

cout<<name1<<" 和 "<<name2<<" 间没有关系"<<endl<<endl;

goto Label;

}

differ = (int)abs(p1->level - p2->level);

if(!differ) //辈分一样大

{

if(p1->sex == p2->sex)

{

if(p1->sex == "M") title = "兄弟关系";

else title = "姐妹关系";

}

else title = "兄妹(姐弟)关系";

if(p1->btr == p2->btr) //parent相同

cout<<name1<<" 和 "<<name2<<" 间是 "<<" 亲 "<<title<<endl;

else

cout<<name1<<" 和 "<<name2<<" 间是 "<<" 表 "<<title<<endl;

}

else //辈分不一样大

{

if(p1->level < p2->level) {pbig = p1; psmall = p2;}

else {pbig = p2; psmall = p1;}

switch(differ)

{

case 1:

if(psmall->btr == pbig)

title = ((pbig->sex == "M")"爸爸":"妈妈");

else

{

if(psmall->btr->btr == pbig->btr)

title = ((pbig->sex == "M")"亲叔(舅)":"亲姑(姨)");

else

title = ((pbig->sex == "M")"表叔(舅)":"表姑(姨)");

}

break;

case 2:

if(psmall->btr->btr == pbig)

title = ((pbig->sex == "M")"爷爷(姥爷)":"奶奶(姥姥)");

else

{

string tmp = ((pbig->sex == "M")"兄弟":"姐妹");

if(psmall->btr->btr->btr == pbig->btr)

title = ((psmall->btr->btr->sex == "M")"爷爷(姥爷)的亲":"奶奶(姥姥)的亲") + tmp;

else

title = ((psmall->btr->btr->sex == "M")"爷爷(姥爷)的表":"奶奶(姥姥)的表") + tmp;

}

break;

default:

string tmp2;

PNode pt = psmall;

int n = differ-2; //计算"老"字 (即grand这个字) 出现的个数

for(int i=0; i<n; ++i)

tmp2 += "老";

for(int i=0; i<differ; ++i)

pt = pt->btr;

if(pt == pbig)

title = tmp2 + ((pbig->sex == "M")"爷爷(姥爷)":"奶奶(姥姥)");

else

{

string tmp3 = ((pbig->sex == "M")"兄弟":"姐妹");

if(pt->btr == pbig->btr)

{title = tmp2 + ((pt->sex == "M")"爷爷(姥爷)的亲":"奶奶(姥姥)的亲"); title+=tmp3;}

else

{title = tmp2 + ((pt->sex == "M")"爷爷(姥爷)的表":"奶奶(姥姥)的表"); title+=tmp3;}

}

break;

}

cout<<pbig->name<<" 是 "<<psmall->name<<" 的 "<<title<<endl;

}

goto Label;

}

}

/

function: 后序遍历销毁此二叉树,释放节点占用的内存空间

/

void DestroyBiTreePostOrder(PNode pn)

{

if(!pn) return;

DestroyBiTreePostOrder(pn->l_child);

DestroyBiTreePostOrder(pn->r_brother);

delete pn;

}

修谱王编修家谱的基本版式有哪些?

修谱王软件是一款可以帮助您修改家谱的软件,你可以在软件上建立新的家谱,可以编辑家谱的全部信息。1、输入用户名,密码完成系统用户登录...
点击下载
热门文章
    确认删除?
    回到顶部