请教如何用word做树状图

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

请教如何用word做树状图,第1张

用word做树状图的方法如下:

1、首先打开word文档。

2、点击标题栏上的插入,在工具栏选择SmartArt点击。

3、点击后弹出SmartArt对话框,选择层次结构。

4、点击后进入下图,我们选择第一个层次结构。

5、上一步选择确定后,创建树状图完成。

6、如果删除文本框,可以选中文本框然后按键盘Delete键删除。

  (1)威塞克斯王朝

  House of Wessex

  埃格伯特 King Egbert

  埃塞尔沃夫 King Aethelwulf

  埃塞尔巴德 King Aethelbald

  埃塞尔伯特 King Aethelbert

  埃塞尔雷德一世 King Aethelred I

  阿尔弗雷德大帝 King Alfred the Great

  爱德华一世 King Edward I the Elder "长王"

  埃塞尔斯坦 King Athelstan

  埃德蒙一世 King Edmund I

  埃德雷德 King Eadred

  埃德威格 King Eadwig (Edwy)

  埃德加 King Edgar the Peaceable "和平王"

  爱德华二世 King Edward II the Martyr "殉教王"

  埃塞尔雷德二世 King Aethelred II the Unready "无头脑者"

  埃德蒙二世 King Edmund II the Ironside "铁甲王"

  (2)丹麦王朝

  Danish Line

  克努特大帝 Canute I the Great(丹麦文作Knud den Store)

  哈罗德一世(哈拉尔) Harald I, Harefoot "兔足王"

  克努特二世(哈德克努特) Canute II, Hardicanute/Hardeknud

  (3)威塞克斯王朝

  House of Wessex

  爱德华三世 King Edward III the Confessor "忏悔王"

  哈罗德二世 Harold Goldwin

  2,英格兰君主[1066--1603]

  (1)诺曼王朝

  House of Norman

  1066-1087 威廉一世 King William I the Conqueror

  1087-1100 威廉二世 King William II Rufus "红毛王"

  1100-1135 亨利一世 King Henry I Well-Educated, Beauclerc "儒雅王"

  1135-1154 斯蒂芬 King Stephen (布卢瓦王朝)

  (2)安茹王朝

  House of Anjou

  1154-1189 亨利二世 King Henry II Curtmantle "短斗篷王"

  1189-1199 理查一世 King Richard I Coeur de Lion "狮心王"

  1199-1216 约翰 King John Lackland "无地王"

  (3)金雀花王朝

  House of Plantagenet

  1216-1272 亨利三世 King Henry III

  1272-1307 爱德华一世 King Edward

  I Long Shank "长脚王"

  1307-1327 爱德华二世 King Edward II

  1327-1377 爱德华三世 King Edward III

  1377-1399 理查二世 King Richard II

  (4)兰开斯特王朝

  House of Lancaster

  1399-1413 亨利四世 King Henry IV

  1413-1422 亨利五世 King Henry V

  1422-1461, 1470-1471 亨利六世 King Henry VI

  (5)约克王朝

  House of York

  1461-1483 爱德华四世 King Edward IV

  1483 爱德华五世 King Edward V

  1483-1485 理查三世 King Richard III

  (6)都铎王朝

  House of Tudor

  1485-1509 亨利七世 King Henry VII

  1509-1547 亨利八世 King Henry VIII

  1547-1553 爱德华六世 King Edward VI

  1553 简•格雷 Lady Jane Grey

  1553-1558 玛丽一世 Queen Mary I the Bloody "血腥玛丽"

  1558-1603 伊丽莎白一世 Queen Elizabeth I

  3,苏格兰君主[到1603}

  (1)亚尔宾王朝

  House of Alpin

  肯尼思一世 King Kenneth I McAlpin

  唐纳德一世 King Donald I

  君士坦丁一世 King Constantine I

  艾德王 King Aed

  奥凯德王 King Eochaid

  唐纳德二世 King Donald II

  君士坦丁二世 King Constantine II

  (2)邓凯尔德王朝

  House of Dunkeld

  马尔科姆一世 King Malcolm I

  英多尔夫王 King Indolf

  杜夫王 King Dubh

  科林王 King Cuilean

  肯尼思二世 King Kenneth II

  君士坦丁三世 King Constantine III

  肯尼思三世 King Kenneth III

  马尔科姆二世 King Malcolm II

  邓肯一世 King Duncan I

  麦克白 King Macbeth

  卢拉赫王 King Lulach

  (3)坎莫尔王朝

  House of Canmore

  马尔科姆三世 King Malcolm III (Canmore)

  唐纳德•班 King Donald Ban

  邓肯二世 King Duncan II

  唐纳德•班和埃德蒙(共同执政) King Donald Ban and King Edmund

  埃德加 King Edgar the Peaceable "和平王"

  亚历山大一世 King Alexander the Fierce "暴躁王"

  大卫一世 King David I

  马尔科姆四世 King Malcolm IV the Maiden "未婚王"

  威廉 King William the Lion "雄狮王"

  亚历山大二世 King Alexander II

  亚历山大三世 King Alexander III

  玛格丽特女王 Queen Margaret (Maid of Norway)

  (4)巴里奥尔王朝

  House of Balliol

  约翰•巴里奥尔 John Balliol

  (5)布鲁斯王朝

  House of Bruce

  1306-1329 罗伯特一世 (罗伯特•布鲁斯) King Robert I the Bruce

  1329-1371 大卫二世 King David II

  (6)斯图亚特王朝

  House of Stewart

  1371-1390 罗伯特二世 King Robert II

  1390-1406 罗伯特三世 King Robert III

  1406-1437 詹姆斯一世 King James I

  1437-1460 詹姆斯二世 King James II

  1460-1488 詹姆斯三世 King James III

  1488-1513 詹姆斯四世 King James IV

  1513-1542 詹姆斯五世 King James V

  1542-1567 玛丽•斯图亚特 Queen Mary of Scots

  1567-1603 詹姆斯六世 King James VI

  4,英国君主[1603--]

  (1)斯图亚特王朝

  House of Stewart

  1603-1625 詹姆斯一世 King James I

  1625-1649 查理一世 King Charles I

  (2)共和政府

  1653-1658 奥利弗•克伦威尔,护国公

  1658-1659 理查•克伦威尔,护国公

  (3)斯图亚特王朝复辟

  House of Stewart

  1660-1685 查理二世 King Chales II

  1685-1688 詹姆斯二世 King James II

  1689-1694 威廉三世和玛丽二世 King William III and Queen Mary II

  1694-1702 威廉三世 King William III

  1702-1714 安妮女王 Queen Anne

  (4)汉诺威王朝

  House of Hannover

  1714-1727 乔治一世 King George I

  1727-1760 乔治二世 King George II

  1760-1820 乔治三世 King George III

  1820-1830 (1811-1820 摄政) 乔治四世 King George IV

  1830-1837 威廉四世 King William IV

  1837-1901 维多利亚女王 Queen Victoria

  (5)萨克森—科堡-哥达王朝

  House of Sachsen-Coburg-Gotha

  1901-1910 爱德华七世 King Edward VII

  1910-1917 乔治五世 King George V

  (6)温莎王朝

  The House of Windsor

  1917-1936 乔治五世 King George V

  1936 爱德华八世 King Edward VIII

  1936-1952 乔治六世 King George VI

  1952- 伊丽莎白二世 Queen Elizabeth II

  一继承人:威尔士亲王查尔斯王储殿下(伊丽莎白二世的长子)

  第二继承人:威尔士的威廉王子殿下(查尔斯王储的长子)

  第三继承人:威尔士的亨利王子殿下(查尔斯王储的次子)

  第四继承人:约克公爵安德鲁王子殿下(伊丽莎白二世的次子)

  第五继承人:约克的比阿特丽斯公主殿下(约克公爵的长女)

  第六继承人:约克的欧吉妮公主殿下(约克公爵的次女)

  第七继承人:威塞克斯伯爵爱德华王子殿下(伊丽莎白二世的三子)

  第八继承人:塞文子爵詹姆士 (威塞克斯伯爵的儿子)

  第十继承人: 路易斯•温莎

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;

}

问题一:目前,最好的家谱制作软件是哪个? 家谱先生61是单机版的,功能挺全的。只能个人用用,无法跟同宗分享。

问题二:我想制作个家谱,可是不知道在电脑上用什么软件好,最好是简单容易操作的 onlinedown/soft/39407

家谱先生(FamilyKeeper) 61

一款国产的具有很高实用价值的专用家谱制作软件。无论您是新修、续修、还是改修老式家谱、或者是抢救复制私藏老谱,该软件都将成为您家谱管理的强有力工具。 该家谱软件的突出特点如下: ・面向大型家谱管理:成功的实现了家谱的分卷管理技术,卷与卷之间有机结合,上下卷之间跳转自如,随意漫游;续卷灵活,纵横方向均可自由续卷,同一部家谱内续卷数量不限,续卷的世代宽度自由安排,从而有效的实现了对大型家谱的管理。 ・多族谱管理:可以同时对多部(任意姓氏的)族谱管理。 ・强劲的族谱维护技术:族谱连接、族谱拆分、更改族谱起始世代数,还可在卷内对节点(子树)任意精确移动。 ・家族成员信息完备:家谱记录内容丰富,资料显示图文并茂,家族成员的数据参数定义完备。 ・检索结果形象丰富:资料检索结果直观形象,配以“寻根链”视图可以一览查询成员的传承脉系。 ・目录、文件管理隐含化:将家谱编写中可能遇到的目录、文件管理工作完全隐含到软件内部,即使电脑知识很少的网友也能轻松上手。 ・家谱打印:该功能是本软件的核心亮点之一,可以将您录入好的家谱资料打印成册,便于分发给家族的各个成员。目前提供四种打印家谱方案: ①方案一:打印家谱内容包括(家族梗概、目录树、父子图、个人资料)等几大部分。 ②方案二:打印家谱内容包括(家族梗概、目录树、阶梯图、个人资料)等几大部分。 ③方案三:打印家谱内容包括(家族梗概、目录树、宝塔图、个人资料)等几大部分。 ④方案四:打印家谱内容包括(家族梗概、目录树、传承图、个人资料)等几大部分。[分横排、竖排两种版式] ・真人肖像模式:使用该显示模式,在世系图上您可以为每个节点上的成员定义制作成员本人的真人肖像,从而使得世系图更加生动、形象。 ・多媒体资料信息管理:软件为每个成员定义了一个相册、影像集和录音集(不加入资料不占空间),您可以将成员精彩的照片、视频及音频资料加入到家谱中,制成一个图、文、像、声并茂的现代数字家谱,软件内置媒体播放器。

downloadenet/page=1

问题三:做族谱用什么软件方便? 看你需要什么类型的家谱:1、纸质家谱:书籍形式,正式规范,需要采集资料、编辑排版、印刷装订,过程较繁琐,成 本 较高。2、网络家谱:通过网站或APP修谱,过程简单,甚至不用钱,操作简单或有使用说明。

家谱是记载家族人文的核心载体,写家谱要明确采用哪种格式。

比如欧阳修式、苏洵式、宝塔式、牒记式、图文对照式、横排图表式、竖排图文式、表记式、图记式等。示例:使用 找你家谱 编修 宝塔式 家谱,形象直观,简洁易用。

手机修谱・网络寻根tiebabaidu/p/4865322667蒲千寻家谱展示tiebabaidu/p/4865510206――找你家谱 FindU

问题四:制作家谱用什么软件好 要求高的话用方正书版、indesign,没什么特别要求的用word就行。

问题五:家谱软件哪个好 coreldraw 差不多

或者Adobe InDesign 也不错

主要得看你会什么软件

问题六:想制作个家谱,有哪些比较实用好用的软件? 那就看看流行的互联网同心圆家谱咯。利用互联网络技术,把传统的纸质家谱转化为数码的、 电子版的数字家谱,清晰明了的展示家谱中的内容,把家族中的每个人都有效的连接起来,形 成一个动态的的家族部落群,共同构成互联网家谱。家谱中的成员可以在互联网家谱中寻找祖 先的足迹、家族历史起源和历程,家族成员信息可以随时查阅和增加,这就是互联网家谱。

问题七:想制作一本家谱,用什么软件好 常见的传统家谱都是纸质的,方便就数电子版本的家谱了。(百姓通谱网)

优势:

1、经济、准确。传统修缮家谱耗时耗力。

2、便于携带、传递、保存。互联网家谱的问世让家谱更容易携带,只需一张U盘,复制,粘贴即可。互联网家谱不怕潮湿不发霉。不怕虫蛀不少页,让家谱保存更加方便。

3、超大容量。在这个信息时代,文字。声音。。视频等媒体信息,也可以存放于互联网家谱中。让家谱内容更充实。互联网家谱的超大容量可录入更多的个人信息和媒体资料。

4、查看方便。便于修改。有续传承。互联网家谱真正实现查看方便,不必再为了查找祖源时亲自到当地看家谱。互联网家谱结合传统的修谱模式与现代人的现实需求,可以不受时间和空间的限制。让身在不同地域的家族人都可以共同管理。真正实现有续传承。

5、隐私保护,授权浏览。

问题八:家谱软件哪个好 国产的亿图不错,操作方便,图形、线条、添加这些添加都很方便,还可以直接使用模板、一键从数据库快速的创建家谱、族谱,下面是亿图里边的一个例子,你可以参考一下:

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

问题十:想制作一本族谱,用什么软件好? 天下家谱 V6112下载多特软件站OKOKOKOK

求采纳为满意回答。

一个真正好的家族树,应该像样板中这样,成为一个血脉流传的记录,让每一个人可以去比较详细的了解亲人的一生,把每一个人的资料单独管理,各自记录自己的生平自传、相册、私密笔记等,最后通过相互之间的父母子女关系衔接形成树状结构展示出来,同时又可以详细了解每一个人具体的信息。

这是一种文明的体现,如果仅仅活在当下,每个人只关心自己现在好不好,随着时间的流逝,太多精彩都将埋没在时间长河中。。。

请教如何用word做树状图

用word做树状图的方法如下:1、首先打开word文档。2、点击标题栏上的插入,在工具栏选择SmartArt点击。3、点击后弹出SmartArt对话框,选择...
点击下载
热门文章
    确认删除?
    回到顶部