制作家谱用什么软件好?

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

制作家谱用什么软件好?,第1张

传承家谱程序是专门做树形家谱的程序,而且输出为WORD文档,也可以图形输出。 输出树形谱系为TXT文件,可以输出任意大小的树形谱系,避免了版面上的限制。 可以在百度搜索,最新版本为520

第一个是简单的表结构,可以使用数组或链表来实现。

节点数据:

struct student{

char number[13];

char name[20];

enum gender;

int age;

char address[200];

}

无论数组和链表都可以直接抄书;

第二个问题,是一个树结构

通常二叉树就可以实现该功能,有很多家谱二叉树的实现可以参考。

以下程序已在win-tc和tc20下运行通过,已加详细注释(本人所写)。

/ 数据安全实用程序,加密解密简单程序 /

#include<stdioh>

#include<stdlibh>

#include<conioh>

int flag;

char encrypt(char ch,int key)/加密函数,把字符循环移位/

{

if(ch>='a' && ch<='z') / 如果是小写字母 /

{

ch=(ch-'a'+key%26)%26+'a'; / 字母向后移key%26个位置,超过字母z则再从a开始向后移动 /

}

else if(ch>='A' && ch<='Z') / 如果是大写字母 /

{

ch=(ch-'A'+key%26)%26+'A'; / 字母向后移key%26个位置,超过字母Z则再从A开始向后移动 /

}

return ch;

}

char decrypt(char ch,int key)/解密函数,把字符循环移位/

{

if(ch>='a' && ch<='z') / 如果是小写字母 /

{

ch=(ch-'a'+26-key%26)%26+'a'; / 字母向后移26-key%26个位置,超过字母z则再从a开始向后移动 /

}

else if(ch>='A' && ch<='Z') / 如果是大写字母 /

{

ch=(ch-'A'+26-key%26)%26+'A'; / 字母向后移26-key%26个位置,超过字母Z则再从A开始向后移动 /

}

return ch;

}

void menu()/菜单,1加密,2解密,3显示文本文件内容/

{

clrscr();

printf("\n=======================================================");

printf("\n1Encrypt the text file"); / 加密文件 /

printf("\n2Decrypt the text file"); / 解密文件 /

printf("\n3Display text file contents");/ 显示加密或解密或未加密或解密的文件 /

printf("\n4Quit\n");

printf("=========================================================\n");

printf("Please select a item:"); / 选择一个菜单 /

}

void logo()/显示程序信息/

{

printf("\nwelcome to encrypt program \n ");

return;

}

void encrypt_decrypt_File(char infile,int key, char outfile) / 加密或解密函数 /

{

FILE in,out;

char ch;

clrscr(); / 清屏 /

if((in=fopen(infile,"r"))==NULL) / 打开欲加密或解密的文件/

{

printf("Can not open the infile!\n"); / 如果打开文件失败或文件不存在打印打开失败信息 /

printf("Press any key to exit!\n");

getch(); / 并等待任一按键然后退出程序 /

exit(0);

}

if((out=fopen(outfile,"w"))==NULL) / 打开文件保存加密或解密后的内容/

{

printf("Can not open the outfile!\n"); / 如果打开文件失败或文件不存在打印打开失败信息 /

printf("Press any key to exit!\n"); / 并等待任一按键然后退出程序 /

fclose(in); / 关闭输入文件 /

getch(); / 等待按键,按任一键退出程序 /

exit(0);

}

ch=fgetc(in); /从文本文件中读入字符/

while(ch!=EOF)/加密或解密/

{

/如果是英文字符,则进行加密或解密,否则,不进行加密或解密处理/

if((ch>='a' && ch<='z' ) || (ch>='A' && ch<='Z'))

{ if(flag==1)

fputc(encrypt(ch,key),out);

if(flag==2)

fputc(decrypt(ch,key),out);

}

else

fputc(ch,out);

ch=fgetc(in);

}

/关闭输入及输出文件/

fclose(in);

fclose(out);

}

void displayFile(char infile) /将文本文件的内容显示在屏幕上/

{

FILE fp;

char string[81];

if((fp=fopen(infile,"r"))==NULL) / 以只读方式打开文本文件 /

{

printf("cann't open file");exit(0); / 如果文件不存在或打开失败打印无法打开信息并退出程序 /

}

while(fgets(string,81,fp)!=NULL)

fputs(string,stdout); /把所取字符串送到屏幕显示/

fclose(fp); / 关闭文件 /

}

int main()

{

int i,n;

char ch0,ch1;

char infile[40],outfile[40];

textbackground(LIGHTGRAY); /设置背景颜色为浅灰色/

textcolor(BLACK); /设置文字颜色为黑色/

clrscr();/清除屏幕显示/

logo(); /显示程序信息/

sleep(2); / 延时2秒 /

menu(); /显示屏幕菜单/

ch0=getche();/等待用户从键盘输入,并把输入显示在屏幕上/

while(ch0!='4')

{

clrscr();

if(ch0=='1') /选择加密功能/

{

flag=1;

printf("\nPlease input the infile to be encrypted:"); / 输入要加密的文件名 /

scanf("%s",infile); / 该文件要和本程序放在同一个目录下 /

printf("Please input the encrypt key:");

scanf("%d",&n);/输入加密密码/

printf("Please input the outfile:"); /输入存放加密内容的文件名/

scanf("%s",outfile); / 该文件可以自动创建 /

encrypt_decrypt_File(infile,n,outfile);

printf("\nEncrypt is over!\n");/ 加密成功 /

sleep(1); / 延时1秒 /

}

else if(ch0=='2') /选择解密功能/

{

flag=2;

printf("\nPlease input the infile to be decrypted:"); / 输入要解密的文件名 /

scanf("%s",infile); / 该文件要和本程序放在同一个目录下 /

printf("Please input the decrypt key:");

scanf("%d",&n);/输入解密密码,加密和解密密码应相同/

printf("Please input the outfile:"); /输入存放解密内容的文件名/

scanf("%s",outfile); / 该文件可以自动创建 /

encrypt_decrypt_File(infile,n,outfile);

printf("\nDecrypt is over!\n");

sleep(1); / 延时1秒 /

}

else if(ch0=='3') /选择显示文本文件功能/

{

printf("\nPlease input the infile to be displayed:"); / 输入要显示的文件名 /

scanf("%s",infile);

displayFile(infile);/ 显示文件 /

getch();

}

else

{ /不合法输入/

printf("\nplease input a valid number(1-4)\n");

sleep(1); / 延时1秒 /

}

menu();/显示程序菜单/

ch0=getche(); /等待用户下一次的功能选择/

}

system("cls");/清除屏幕/

logo(); /显示程序信息/

printf("\nGood Bye!\n");

sleep(2);/ 延时2秒 /

system("pause"); / 暂停,按任一键退出程序 /

return 0;

}

UNIX作业系统(尤尼斯),是一个强大的多用户、多任务作业系统,支持多种处理器架构,按照作业系统的分类,属于分时作业系统,最早由KenThompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发。目前它的商标权由国际开放标准组织所拥有,只有符合单一UNIX规范的UNIX系统才能使用UNIX这个名称,否则只能称为类UNIX(UNIX-like)。

基本介绍 中文名 :Unix 本质 :作业系统 类型 :分时作业系统 开发 :1969年 公司 :AT&T 特点 :多用户、多任务 历史,诞生,流行,家谱,类UNIX,收费情况,UNIX标准,UNIX特性, 历史 诞生 1965年时,贝尔实验室(Bell Labs)加入一项由通用电气(General Electric)和麻省理工学院(MIT)合作的计画;该计画要建立一套多使用者、多任务、多层次(multi-user、multi-processor、multi-level)的MULTICS作业系统。直到1969年,因MULTICS计画的工作进度太慢,该计画被停了下来。当时,Ken Thompson(后被称为UNIX之父)已经有一个称为"星际旅行"的程式在GE-635的机器上跑,但是反应非常慢,正巧被他发现了一部被闲置的PDP-7(Digital的主机),Ken Thompson和Dernis Ritchie就将"星际旅行"的程式移植到PDP-7上。而这部PDP-7(如图1-1所示)就此在整个计算机历史上留下了芳名。 图1-1 PDP-7计算机 MULTICS其实是"Multiplexed Information and Computing Service"的缩写,在1970年时,那部PDP-7却只能支持两个使用者,当时,Brian Kernighan就开玩笑地称他们的系统其实是:"UNiplexed Information and Computing Service",缩写为"UNICS",后来,大家取其谐音,就称其为"UNIX"了。1970年可称为"UNIX元年"。 流行 1971年,Ken Thompson写了充分长篇的申请报告,申请到了一台PDP-11/24的机器。于是Unix第一版出来了。在一台PDP-11/24的机器上完成。这台电脑只有24KB的物理记忆体和500K磁碟空间。Unix占用了12KB的记忆体,剩下的一半记忆体可以支持两用户进行Space Travel的游戏。而著名的fork()系统调用也就是在这时出现的。 到了1973年的时候,Ken Thompson 与Dennis Ritchie感到用汇编语言做移植太过于头痛,他们想用高级语言来完成第三版,对于当时完全以汇编语言来开发程式的年代,他们的想法算是相当的疯狂。一开始他们想尝试用Fortran,可是失败了。后来他们用一个叫 BCPL (Basic Combined Programming Language)的语言开发,他们整合了BCPL形成 B语言 ,后来Dennis Ritchie觉得B语言还是不能满足要求,于是就改良了B语言,这就是今天的大名鼎鼎的 C语言 。于是,Ken Thompson 与Dennis Ritchie成功地用C语言重写了Unix的第三版核心。至此,Unix这个作业系统修改、移植相当便利,为Unix日后的普及打下了坚实的基础。而Unix和C完美地结合成为一个统一体,C与Unix很快成为世界的主导。 Unix Unix的第一篇文章 “The UNIX Time Sharing System”由Ken Thompson和Dennis Ritchie于1974年7月的 The Communications of the ACM发表。这是UNIX与外界的首次接触。结果引起了学术界的广泛兴趣并对其源码索取,所以,Unix第五版就以“仅用于教育目的”的协定,提供给各大学作为教学之用,成为当时作业系统课程中的范例教材。各大学公司开始通过Unix源码对Unix进行了各种各样的改进和扩展。于是,Unix开始广泛流行。 家谱 Unix在开发的过程中,没有任何的奖励制度和管理,从一开始在AT&T公司出现时,其是一种近似于好奇或兴趣的东西。 Unix家谱 然而,20世纪70年代,AT&T公司开始注意到Unix所带来的商业价值。公司的律师开始寻找一些手段来保护Unix,并让其成为一种商业机密。从1979年Unix的版本V7开始,Unix的许可证开始禁止大学使用Unix的源码,包括在授课中学习。 到了1980年,有两个最主要的Unix的版本线,一个是Berkeley的BSD UNIX,另一个是AT&T的Unix,在这个时候,很显然,竞争最终引发了Unix的战争。在这场战争中,好的是,软体开发人员还是能够得到Unix的源码并对其按照自己的需要和兴致进行裁剪。而不好的是,Unix开始一发不可收拾地开发不停地出现各种各样的变种。 1982年,Joy创建了Sun Microsystems公司并提供了工作站–Sun-1,运行SunOS(Solaris以之后的十年出现)。而AT&T则在随后的几年中发布了Unix System V的第一版,一个具有强大影响力的作业系统,最终造就了IBM的AIX和HP的HP-UX。 类UNIX AIX Advanced Interactive eXecutive )是 IBM 开发的一套UNIX作业系统。它符合Open group的UNIX 98行业标准(The Open Group UNIX 98 Base Brand),通过全面集成对32-位和64-位套用的并行运行支持,为这些套用提供了全面的可扩展性。它可以在所有的IBM ~ p系列和IBM RS/6000工作站、伺服器和大型并行超级计算机上运行。AIX的一些流行特性例如chuser、mkuser、rmuser命令以及相似的东西允许如同管理档案一样来进行用户管理。AIX级别的逻辑卷管理正逐渐被添加进各种自由的UNIX风格作业系统中。 Aix logo Solaris 是SUN公司研制的类Unix作业系统。直至2013年,Solaris的最新版为 Solaris 11。 solaris logo 早期的Solaris是由BSDUnix发展而来。这是因为升阳公司的创始人之一,比尔·乔伊(Bill Joy)来自加州大学伯克莱分校(UCBerkeley)。但是随着时间的推移,Solaris在接口上正在逐渐向System V靠拢,但至今Solaris仍旧属于私有软体。2005年6月14日,Sun公司将正在开发中的Solaris 11的原始码以CDDL许可开放,这一开放版本就是OpenSolaris。 Sun的作业系统最初叫做SunOS。SunOS 50开始,SUN的作业系统开发开始转向System V4,并且有了新的名字叫做Solaris 20。Solaris 26以后,SUN删除了版本号中的"2",因此,SunOS 510就叫做Solaris 10。Solaris的早期版本后来又被重新命名为Solaris 1x 所以"SunOS"这个词被用做专指Solaris作业系统的核心,因此Solaris被认为是由SunOS,图形化的桌面计算环境,以及它网路增强部分组成。 Solaris运行在两个平台:Intel x86及SPARC/UltraSPARC。后者是升阳工作站使用的处理器。因此,Solaris在SPARC上拥有强大的处理能力和硬体支援,同时Intel x86上的性能也正在得到改善。对这两个平台,Solaris禁止了底层平台差异,为用户提供了尽可能一样的使用体验。 HP-UX 取自 Hewlett Packard UniX ,是 惠普公司 (HP,Hewlett-Packard)以 System V为基础所研发成的类UNIX作业系统。HP-UX可以在HP的PA-RISC处理器、Intel的Itanium处理器的电脑上运行,另外过去也能用于后期的阿波罗电脑(Apollo/Domain)系统上。较早版本的HP-UX也能用于HP 9000系列200型、300型、400型的电脑系统(使用Motorola的68000处理器)上,和HP-9000系列500型电脑(使用HP专属的FOCUS处理器架构)。 HP-UX IRIX 是由矽谷图形公司( Silicon Graphics Inc ,一般用简称: SGI )以System V与BSD延伸程式为基础所发展成的UNIX作业系统,IRIX可以在SGI公司的RISC型电脑上运行,即是采行32位、64位MIPS架构的SGI工作站、伺服器。 IRIX Xenix 是一种UNIX作业系统,可在个人电脑及微型计算机上使用。该系统由 微软公司 在1979年从美国电话电报公司获得授权,为Intel处理器所开发。后来,SCO公司收购了其独家使用权,自那以后,该公司开始以SCO UNIX(亦被称作SCO OpenServer)为名发售。值得一提的是,它还能在DECPDP-11或是Apple Lisa电脑运行。它继承了UNIX的特性,Xenix具备了多人多任务的工作环境,符合 UNIX System V 的接口规格 (SVID)。 A/UX (取自Apple Unix)是 苹果电脑 (Apple Computer)公司所开发的UNIX作业系统,此作业系统可以在该公司的一些麦金塔电脑(Macintosh)上运行,最末(或说最新)的一套A/UX是在Macintosh II、Quadra及Centris等系列的电脑上运行。A/UX于1988年首次发表,最终的版本为311版,于1995年发表。A/UX至少需要一颗具有浮点运算单元及标签页式的存储器管理单元(Paged Memory Management Unit,PMMU)的68k处理器才能运行。 A/UX是以 System V 22 版为基础所发展,并且也使用System V 3(简称:SysV 3)、System V 4、BSD 42、BSD 43等的传统特色,它也遵循POSIX规范及SVID规范,不过遵循标准版本就难以支持最新的信息技术,因此在之后的第二版便开始加入TCP/IP网路功能。有传言表示有一个后续版本是以OSF/1为主要的代码基础,但却从未公开发表过,不过无从证实此版本是否真存在过。 收费情况 UNIX作业系统是 商业版 ,需要收费,价格比Microsoft Windows正版要贵一些。不过UNIX有免费版的,例如:NetBSD等类似UNIX版本。 UNIX标准 UNIX用户协会最早从20世纪80年代开始标准化工作,1984年颁布了试用标准。后来IEEE为此制定了POSIX标准(即IEEE1003标准)国际标准名称为ISO/IEC9945它通过一组最小的功能定义了在UNIX作业系统和应用程式之间兼容的语言接口。POSIX是由Richard Stallman 应IEEE的要求而提议的一个易于记忆的名称,含义是Portable OPerating System Interface(可移植作业系统接口) ,而X表明其API的传承。 UNIX特性 UNIX系统是一个多用户,多任务的分时作业系统。 UNIX的系统结构可分为三部分:作业系统核心(是UNIX系统核心管理和控制中心,在系统启动或常驻记忆体),系统调用(供程式开发者开发应用程式时调用系统组件,包括进程管理,档案管理,设备状态等),应用程式(包括各种开发工具,编译器,网路通讯处理程式等,所有应用程式都在Shell的管理和控制下为用户服务)。 UNIX系统大部分是由C语言编写的,这使得系统易读,易修改,易移植。 UNIX提供了丰富的,精心挑选的系统调用,整个系统的实现十分紧凑,简洁。 UNIX提供了功能强大的可程式的Shell语言(外壳语言)作为用户界面具有简洁,高效的特点。 UNIX系统采用树状目录结构,具有良好的安全性,保密性和可维护性。 UNIX系统采用进程对换(Swapping)的记忆体管理机制和请求调页的存储方式,实现了虚拟记忆体管理,大大提高了记忆体的使用效率。 UNIX系统提供多种通信机制,如:管道通信,软中断通信,讯息通信,共享存储器通信,信号灯通信。

家谱的封面

家谱的形式

家谱的主体形式,叫世系图,长这个样子

世系图分为宝塔式图谱、树系图谱、线性图谱和牒记式图谱(无图,曾以是以文字叙述先人事迹)

树系图谱

线性图谱

再来说说,为什么要写家谱呢?

目的是记载自己家族的光辉史,以及记载家族的历史和发展。

一般是家族发展到一定程度的时候,家中德高望重的人提出,我们是不是该写家谱了。大家一致决定好,然后如果祠堂的钱够,那就直接从祠堂拿钱,开始写家谱。如果祠堂没钱,那就大家捐钱。如果是家族第一本家谱,那就由德高望重的人决定辈分什么的。

现在有很多人没有家谱了,可能是由于迁移或者其它原因造成的,如果是这种情况,那么可以两种办法解决,一是回到原来的祖籍,请家谱;另一种就是重修家谱。

家谱的内容都有什么?

一、写清楚姓氏源流。

意思就是同一族姓的来源、迁移等。中国上下五千年,渊源古老,如果没有家谱,后人就很难搞清楚。每套《家谱》都认清自己姓氏源流,这样才能世世代代承继,也能将族系根缘流传千百年。

二、写清楚堂号。

堂号名称一般取自于郡号名,或者是史祖自创。

一般来说,堂号多取自于郡号名,郡是秦、汉时期对行政区域的建置,郡号名又取自于郡名,或诸侯国名,地方府、州、县名。也有很多姓氏同为一个堂号的,比如:王,胡这两个姓的郡望都是“清河堂”。

自创的,例如:杨氏的“四知堂”寓意“天知、地知、我知、子知”的为人风范。很多重修家谱的情况,只能用自创堂号。

三、家训和家族的历史。

很多家谱中,都记录了许多治家教子的名言警句,流传到后世了,比如我们熟悉的颜氏家训、朱子治家格言等。

家训大致包括了以下内容:

(一)、注重家法、国法

(二)、和睦宗族、乡里

(三)、孝顺父母、敬长辈

(四)、合乎礼教、正名分

(五)、祖宗祭祀、墓祭程序

四、有功绩和品行之人的传纪。

一般分为:列传、内传和外传等。列传是记录家族中有功绩男子的传记;内传是记录家族中有品行女子的传记;外传是记录家族中已出嫁有品行女子的传记。传记中多配有该人的画像或关于该人的故事图画,用词以真实平朴为重,最忌溢美之词。这也是评价一部“家传”水平高低与否的重要标准。

五、家族中人的诗文著作。

以家族中名人所写的诗文著作为主要内容,也收集本族人与外人的书信来函,以及经籍、表策、碑文、书札等,有的还有版画、肖像画、版本作品、名家书法、歌曲等。在这部分进行续补时,更需精心挑选,慎重录入,把最有价值和代表性的文献传给后代。

六、祖先、老照片、风水图等。

这里的祖先、老照片好理解,其中风水图主要只祠堂图、墓土。祠堂是供奉先人的地方,所以在记载和刊载建物版图、描绘实状,甚至详记地理方位。有的族谱中还要把故居和村庄图放上。

最后补充一点,女孩可以上家谱吗?

古时认为,女孩是嫁给别人的就是别人家的人了,不过也有例外,就是终身不嫁的女性,就有机会上家谱,当然女孩子是没有权力拥有家谱的。不过现代修家谱也有例外,因为有可能小辈都是女孩子了,所以也有女孩保存家谱、传家谱和修家谱的情况出现。

制作家谱用什么软件好?

传承家谱程序是专门做树形家谱的程序,而且输出为WORD文档,也可以图形输出。 输出树形谱系为TXT文件,可以输出任意大小的树形谱系,避免...
点击下载
热门文章
    确认删除?
    回到顶部