当前位置:文档之家› 家谱管理系统 -数据结构大作业

家谱管理系统 -数据结构大作业

家谱管理系统 -数据结构大作业
家谱管理系统 -数据结构大作业

/* 家谱管理系统

任务:实现具有下列功能的家谱管理系统

功能要求:

1). 输入文件以存放最初家谱中各成员的信息,成员的信息中均应包含以下内容:

姓名、出生日期、婚否、地址、健在否、死亡日期(若其已死亡),也可附加其它信息、但不是必需的。

2). 实现数据的存盘和读盘。

3). 以图形方式显示家谱。

4). 显示第n 代所有人的信息。

5). 按照姓名查询,输出成员信息(包括其本人、父亲、孩子的信息)。

6). 按照出生日期查询成员名单。

7). 输入两人姓名,确定其关系。

8). 某成员添加孩子。

9). 删除某成员(若其还有后代,则一并删除)。

10).修改某成员信息。

11).按出生日期对家谱中所有人排序。

12).打开一家谱时,提示当天生日的健在成员。

要求:建立至少30个成员的数据,以较为直观的方式显示结果,并提供文稿形式以便检查。界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。存储结构:学生自己根据系统功能要求自己设计,但是要求相关数据要存储在数据文件中。测试数据:要求使用1、全部合法数据;2、局部非法数据。进行程序测试,以保证程序的稳定。

测试数据及测试结果请在上交的资料中写明;

*/

#include

#include

#include

#include

#include"map.h"

#define MAXN 100

#define MAXMEM 100

#define Elemtype char

==============================

//树

typedef struct BiTNode

{

int mark;//标记

int level;

char name[50];//姓名

char birthday[50];//生日

char address[MAXN];//住址

bool marriage;//婚否(true表示结婚,false表示没结婚)bool live;//建在(true表示活着,false表示过世)

bool sex;//性别(true表示男,false表示女)

char livemassage[50];//死亡日期(如果其已经死亡)

Elemtype data;//

struct BiTNode *lc,*rc;

}BiTNode,*BiTree;

//树的相关操作

char nametemp[50];//姓名

char birthdaytemp[50];//生日

char addresstemp[MAXN];//住址

bool marriagetemp;//婚否(true表示结婚,false表示没结婚)bool livetemp;//建在(true表示或者,false表示过世)

bool sextemp;

char livemassagetemp[MAXN];//死亡日期(如果其已经死亡)char ch;//额外使用

int leveltemp;//人的代数

int Nth;//显示第n代人时要用

char searchdata[50];

char searchname[50];

int count;//计数

int choice;//各种选择

int use;

BiTree temp;

struct BiTNodeList

{

BiTree data;

BiTNodeList *next;

};

BiTNodeList *List;

//-----------

void CreatBiTree(BiTree &T,FILE *in)//建立双链二叉树

{

fscanf(in,"%c",&ch);

//printf("%c\n",ch);

if(ch == '@')

{

T = NULL;

fscanf(in,"%c",&ch);

}

else

{

T = (BiTree)malloc(sizeof(BiTNode));

//fscanf(in,"%s%s%s%d%d",nametemp,birthdaytemp,addresstemp,&marriagetemp,&livetemp);

fscanf(in,"%s",nametemp);

strcpy(T->name,nametemp);

fscanf(in,"%s",birthdaytemp);

strcpy(T->birthday,birthdaytemp);

fscanf(in,"%s",addresstemp);

strcpy(T->address,addresstemp);

fscanf(in,"%d%d%d%d",&marriagetemp,&livetemp,&leveltemp,&sextemp);

T->marriage = marriagetemp;

T->live = livetemp;

T->level = leveltemp;

T->sex = sextemp;

//printf("%s %s %s %d %d\n",nametemp,birthdaytemp,addresstemp,marriagetemp,livetem p);

{

fscanf(in,"%s",livemassagetemp);

//printf("%s\n",livemassagetemp);

}

if(!T->live)

strcpy(T->livemassage,livemassagetemp);

fscanf(in,"%c",&ch);

CreatBiTree(T->lc,in);

CreatBiTree(T->rc,in);

}

}

void PrintInfo(BiTree T)

{

printf("%-10s出生于:%-10s%-10s",T->name,T->birthday,T->address);

if(T->marriage)

printf("\t已婚");

if(!T->marriage)

printf("\t未婚");

if(T->sex)

printf("\t男");

if(!T->sex)

printf("\t女");

if(T->live)

printf("\t健在\n");

printf("\t去世于:%s\n",T->livemassage);

}

void PreOrderTraverse_recursion(BiTree T)//递归先序遍历(检查建树是否正确) {

//printf("PreOrderTraverse_recursion\n");

if(T)

{

/*printf("%-10s出生于:%-10s%-10s",T->name,T->birthday,T->address);

if(T->marriage)

printf("\t已婚");

if(!T->marriage)

printf("\t未婚");

if(T->sex)

printf("\t男");

if(!T->sex)

printf("\t女");

if(T->live)

printf("\t健在\n");

if(!T->live)

printf("\t去世于:%s\n",T->livemassage);*/

PrintInfo(T);

PreOrderTraverse_recursion(T->lc);

PreOrderTraverse_recursion(T->rc);

}

}

void ShowFamilyTree(BiTree T)//以图形的方式显示家谱{

int i,lev;

BiTree p;

p = T;

if(T)

{

lev = T->level;

for(i=0; i

printf("\t");

printf("%-5s ",p->name);

if(p->lc)

{

p = T->lc;

printf("★*★%5s%\n",p->name);

if(p->rc)

{

p = p->rc;

ShowFamilyTree(p);

}

}

else

printf(" (未婚)\n");

}

if(T->rc)

{

p = T->rc;

ShowFamilyTree(p);

}

}

void ShowNth(BiTree T)//显示第n代所有人的信息

{

if(T)

{

if(T->level == Nth)

{

PrintInfo(T);

//printf("%-10s%-10s%-10s%5d%5d%5d\n",T->name,T->birthday,T->address,T->marriage,T->live ,T->sex);

count++;

}

ShowNth(T->lc);

ShowNth(T->rc);

}

}

void SearchByName(BiTree T)//按照姓名查询,输出成员信息(包括其本人、父亲、孩子的信息)。不能查询祖先信息

{

if(T)

{

if(T->lc)

{

if(T->lc->rc)

{

temp = T->lc->rc;

while(temp)

{

if(strcmp(temp->name,searchname) == 0)

{

count++;

printf("\n此人的信息为: \n");

PrintInfo(temp);

//printf("%-10s%-10s%-10s%5d%5d%5d\n\n",temp->name,temp->birthday,temp->address,temp ->marriage,temp->live,temp->sex);

printf("此人父母的信息为: \n");

PrintInfo(T);

PrintInfo(T->lc);

//printf("%-10s%-10s%-10s%5d%5d%5d\n",T->name,T->birthday,T->address,T->marriage,T->live ,T->sex);

//printf("%-10s%-10s%-10s%5d%5d%5d\n\n",T->lc->name,T->lc->birthday,T->lc->address,T->lc-> marriage,T->lc->live,T->lc->sex);

if(!temp->livemassage)

printf("此人还没有妻室\n");

else

{

printf("此人妻子的信息为: \n");

PrintInfo(temp->lc);

//printf("%-10s%-10s%-10s%5d%5d%5d\n\n",temp->lc->name,temp->lc->birthday,temp->lc->ad dress,temp->lc->marriage,temp->lc->live,temp->lc->sex);

if(temp->lc->rc)

{

printf("此人孩子的信息为: \n");

temp = temp->lc->rc;

while(temp)

{

PrintInfo(temp);

//printf("%-10s%-10s%-10s%5d%5d%5d\n",temp->name,temp->birthday,temp->address,temp-> marriage,temp->live,temp->sex);

temp = temp->rc;

}

}

}

return;

}

else

temp = temp->rc;

}

}

}

SearchByName(T->lc);

SearchByName(T->rc);

}

}

void SearchByBirthday(BiTree T)//按照出生日期查询成员名单

{

if(T)

{

if(strcmp(T->birthday,searchdata) == 0)

{

PrintInfo(T);

//printf("%-10s%-10s%-10s%5d%5d%5d\n",T->name,T->birthday,T->address,T->marriage,T->live ,T->sex);

count++;

}

SearchByBirthday(T->lc);

SearchByBirthday(T->rc);

}

}

void AddChild(BiTree &T)//某成员添加孩子

{

if(T)

{

if(strcmp(T->name,searchname) == 0)

{

count++;

if(!T->lc)

{

printf("该成员还没有结婚,不能添加孩子\n");

return;

}

if(!T->sex)

{

printf("不能为该家谱中的女性添加孩子\n");

return;

}

else

{

temp = (BiTree)malloc(sizeof(BiTNode));

printf("请输入添加孩子的姓名\n");

scanf("%s",temp->name);

printf("请输入添加孩子的出生年月(格式形如: 2010-1-1)\n");

scanf("%s",temp->birthday);

printf("请输入添加孩子的家庭住址\n");

scanf("%s",temp->address);

printf("请输入添加孩子的婚姻状况0/1 (0表示未婚,1表示已婚)\n");

scanf("%d",&temp->marriage);

printf("请输入添加孩子的在世情况0/1 (0表示去世,1表示在世)\n");

scanf("%d",&temp->live);

if(!temp->live)

{

printf("请输入添加孩子的去世时间(格式形如: 2010-1-1)\n");

scanf("%s",temp->livemassage);

}

printf("请输入添加孩子的性别0/1 (0表示女,1表示男)\n");

scanf("%d",&temp->sex);

temp->level = T->level+1;

temp->rc = T->lc->rc;

temp->lc = NULL;

T->lc->rc = temp;

printf("孩子添加成功\n");

return;

}

}

AddChild(T->lc);

AddChild(T->rc);

}

}

void AddWife(BiTree &T)//某成员添加妻子

{

if(T)

{

if(strcmp(T->name,searchname) == 0)

{

count++;

if(T->lc)

{

printf("该成员已有妻子,可以通过修改的方式替换该妻子\n");

return;

}

else

{

temp = (BiTree)malloc(sizeof(BiTNode));

printf("请输入添加妻子的姓名\n");

scanf("%s",temp->name);

printf("请输入添加妻子的出生年月(格式形如: 2010-1-1)\n");

scanf("%s",temp->birthday);

printf("请输入添加妻子的家庭住址\n");

scanf("%s",temp->address);

printf("请输入添加妻子的婚姻状况0/1 (0表示未婚,1表示已婚)\n");

scanf("%d",&temp->marriage);

printf("请输入添加妻子的在世情况(0表示去世,1表示在世)\n");

scanf("%d",&temp->live);

if(!temp->live)

{

printf("请输入添加妻子的去世时间(格式形如: 2010-1-1)\n");

scanf("%s",temp->livemassage);

}

printf("请输入添加妻子的性别0/1 (0表示女,1表示男)\n");

scanf("%d",&temp->sex);

temp->level = T->level;

temp->lc = NULL;

temp->rc = NULL;

T->lc = temp;

T->marriage = true;

printf("妻子添加成功\n");

return;

}

}

AddWife(T->lc);

AddWife(T->rc);

}

}

void DeleteByName(BiTree &T)//删除某成员(若其还有后代,则一并删除)

{

//printf("PreOrderTraverse_recursion\n");

if(T)

{

if(strcmp(T->name,searchname) == 0)

{

count++;

T = NULL;

return;

}

//printf("%-10s%-10s%-10s%5d%5d%5d\n",T->name,T->birthday,T->address,T->marriage,T->live ,T->sex);

DeleteByName(T->lc);

DeleteByName(T->rc);

}

}

void FixLevel(BiTree T)

{

if(T)

{

if(strcmp(T->name,searchname) == 0)

{

count = T->level;

}

FixLevel(T->lc);

FixLevel(T->rc);

}

}

void FixRelation(BiTree T)//输入两人姓名,确定其关系{

int levo,levt;

char levone[50],levtwo[50];

printf("请输入第一个人的姓名\n");

scanf("%s",searchname);

strcpy(levone,searchname);

FixLevel(T);

levo = count;

if(levo == -1)

{

printf("家谱无此人,请从新进入\n");

return;

}

printf("请输入第二个人的姓名\n");

scanf("%s",searchname);

strcpy(levtwo,searchname);

FixLevel(T);

levt = count;

if(levt == -1)

{

printf("家谱无此人\n");

return;

}

if(levo < levt)

printf("%s 比%s 大%d 辈\n",levone,levtwo,levt-levo);

else if(levo > levt)

printf("%s 比%s 大%d 辈\n",levtwo,levone,levo-levt);

else if(levo == levt)

printf("%s 和%s 平辈\n",levone,levtwo);

}

void ShowAmend()

{

printf("1.修改姓名\n");

printf("2.修改出生年月\n");

printf("3.修改家庭住址\n");

printf("4.修改婚姻状况\n");

printf("5.修改在世情况\n");

printf("6.修改性别\n");

printf("7.返回上一级\n");

printf("请输入选项(1-7): ");

}

void DoAmend(BiTree &T)

{

while(1)

{

system("cls");

ShowAmend();

scanf("%d",&choice);

switch(choice)

{

case 1:

printf("请输入修改后的姓名: ");

scanf("%s",T->name);

break;

case 2:

printf("请输入修改后的出生年月: ");

scanf("%s",T->birthday);

break;

case 3:

printf("请输入修改后的住址: ");

scanf("%s",T->address);

break;

case 4:

printf("请输入修改后的婚姻状况: ");

scanf("%d",&T->marriage);

break;

case 5:

printf("请输入修改后的在世情况: ");

scanf("%d",&T->live);

if(!T->live)

{

printf("请输入本人的过世时间: ");

scanf("%s",T->livemassage);

}

break;

case 6:

printf("请输入修改后的性别(1表示男,0表示女): ");

scanf("%d",&T->sex);

case 7:

return;

default:

printf("输入非法,请重新输入\n");

break;

}

}

}

void AmendInfo(BiTree &T)//修改某成员信息。

{

if(T)

{

if(strcmp(T->name,searchname) == 0)

{

count++;

DoAmend(T);

return;

}

AmendInfo(T->lc);

AmendInfo(T->rc);

}

}

void Sequence(BiTree T)//按出生日期对家谱中所有人排序。

{

if(T)

{

BiTNodeList *temp;

BiTNodeList *p;

temp = (BiTNodeList *)malloc(sizeof(BiTNodeList));

temp->data = T;

//p = List;

//while(p->)

for(p=List;

(p->next!=NULL)&&(strcmp(p->next->data->birthday,temp->data->birthday)<0); p=p->next);

数据结构家谱管理系统范本

数据结构家谱管理 系统

宁波大红鹰学院 信息工程学院 课 程 设 计 报 告 项目名 家谱查询系统 称: 白钰琦 项目组 长: 徐程凯、徐海域、项鸿伟 项目成 员: 10计科1班 班级名 称: 计算机科学与技术 专业名 称: 完成时间: 12月1日 信息工程学院制 目录 一、案例描述 ............................................................ 错误!未定义书签。 1、总体描述 ....................................................... 错误!未定义书签。 2、模块描述 ....................................................... 错误!未定义书签。

二、设计思路 ............................................................ 错误!未定义书签。 三、程序设计 ............................................................ 错误!未定义书签。 1、数据结构描述................................................ 错误!未定义书签。 2、主函数及其流程图........................................ 错误!未定义书签。 3、源程序 ........................................................... 错误!未定义书签。 四、调试与分析 ........................................................ 错误!未定义书签。 1、主菜单 ........................................................... 错误!未定义书签。 2、显示家谱信息................................................ 错误!未定义书签。 3、显示家谱中第n代人所有信息 .................... 错误!未定义书签。 4、按姓名查找某人并相应输出 ........................ 错误!未定义书签。 5、按出生日期查找家谱成员信息 .................... 错误!未定义书签。 6、为家谱中成员添加孩子信息 ........................ 错误!未定义书签。 7、为家谱中成员添加妻子信息 ........................ 错误!未定义书签。 8、删除家谱中成员及其后代信息 .................... 错误!未定义书签。 9、修改家谱中成员信息.................................... 错误!未定义书签。 10、确定家谱中两个成员关系 .......................... 错误!未定义书签。 11、按出生年月排序家谱 .................................. 错误!未定义书签。 五、设计总结 ............................................................ 错误!未定义书签。 1、完成情况 ....................................................... 错误!未定义书签。 2、心得体会 ....................................................... 错误!未定义书签。

数据结构课程设计独立题目

题目2:运动会分数统计 1.问题描述 参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20) 2.功能要求 1)可以输入各个项目的前三名或前五名的成绩; 2)能统计各学校总分; 3)可以按学校编号、学校总分、男女团体总分排序输出; 4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。 存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。 。 题目6:哈夫曼编/译码器 1.问题描述 利用哈夫曼编码进行信息通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(复原)。对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。试为这样的信息收发站写一个哈夫曼编/译码系统。 2.功能要求 I:初始化(Initialization)。从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件hfmTree中。 E:编码(Encoding)。利用已建好的哈夫曼树(如不在内存,则从文件htmTree 中读入),对文件ToBeTran中的正文进行编码,然后将结果存入文件CodeFile 中。 D:译码(Decoding)。利用已建好的哈夫曼树将文件CodeFile中的代码进行译码,结果存入文件TextFile中。 P:印代码文件(Print)。将文件CodeFile以紧凑格式显示在终端上,每行50个代码。同时将此字符形式的编码写入文件CodePrint中。 T:印哈夫曼树(Tree Printing)。将已在内存中的哈夫曼树以直观的方式(树或凹入表形式)显示在终端上,同时将此字符形式的哈夫曼树写入文件TreePrint 中。 题目9:构造可以使n个城市连接的最小生成树 1.问题描述 给定一个地区的n个城市间的距离网,用Prim算法或Kruskal算法建立最小生成树,并计算得到的最小生成树的代价。 2.功能要求 城市间的距离网采用邻接矩阵表示,邻接矩阵的存储结构定义采用课本中给出的定义,若两个城市之间不存在道路,则将相应边的权值设为自己定义的无穷大值。要求在屏幕上显示得到的最小生成树中包括了哪些城市间的道路,并显示得到的最小生成树的代价。

家谱管理系统 -数据结构大作业

/* 家谱管理系统 任务:实现具有下列功能的家谱管理系统 功能要求: 1). 输入文件以存放最初家谱中各成员的信息,成员的信息中均应包含以下内容: 姓名、出生日期、婚否、地址、健在否、死亡日期(若其已死亡),也可附加其它信息、但不是必需的。 2). 实现数据的存盘和读盘。 3). 以图形方式显示家谱。 4). 显示第n 代所有人的信息。 5). 按照姓名查询,输出成员信息(包括其本人、父亲、孩子的信息)。 6). 按照出生日期查询成员名单。 7). 输入两人姓名,确定其关系。 8). 某成员添加孩子。 9). 删除某成员(若其还有后代,则一并删除)。 10).修改某成员信息。 11).按出生日期对家谱中所有人排序。 12).打开一家谱时,提示当天生日的健在成员。 要求:建立至少30个成员的数据,以较为直观的方式显示结果,并提供文稿形式以便检查。 界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。 存储结构:学生自己根据系统功能要求自己设计,但是要求相关数据要存储在数据文件中。 测试数据:要求使用1、全部合法数据;2、局部非法数据。进行程序测试,以保证程序的稳定。 测试数据及测试结果请在上交的资料中写明; */ #include #include

#include #include #include"map.h" #define MAXN 100 #define MAXMEM 100 #define Elemtype char ============================== //树 typedef struct BiTNode { i nt mark;//标记 int level; char name[50];//姓名 char birthday[50];//生日 char address[MAXN];//住址 bool marriage;//婚否(true表示结婚,false表示没结婚) bool live;//建在(true表示活着,false表示过世) bool sex;//性别(true表示男,false表示女) char livemassage[50];//死亡日期(如果其已经死亡) Elemtype data;// struct BiTNode *lc,*rc; }BiTNode,*BiTree; //树的相关操作 char nametemp[50];//姓名 char birthdaytemp[50];//生日 char addresstemp[MAXN];//住址 bool marriagetemp;//婚否(true表示结婚,false表示没结婚)bool livetemp;//建在(true表示或者,false表示过世)

实验室质量手册和程序文件的编写

实验室质量手册和程序文件的编写 李正东(原中国计量科学研究院教授)编 1质量管理的原则 1.1 以顾客为关注焦点 1.1.1 概述 质量管理的主要关注点是满足顾客要求并且努力超越顾客期望。 1.1.2 理论依据 组织只有赢得和保持顾客和其他有关的相关方的信任才能获得持续成功。 1.2 领导作用 1.2.1 概述 各级领导建立统一的宗旨和方向,创造全员积极参与的条件,实现组织的质量目标。1.2.2 理论依据 统一的宗旨和方向的建立,以及全员的积极参与,能够使组织将战略、方针、过程和资源保持一致,以实现其目标。 1.3 全员参与 1.3.1 概述 在整个组织内各级人员的胜任、被授权和积极参与,是提高组织创造和提供价值能力的必要条件。 1.3.2 理论依据 为了有效和高效的管理组织,各级人员得到尊重并参与其中是极其重要的。通过表彰、授权和提高能力,促进在实现组织的质量目标过程中的全员积极参与。 1.4 过程方法 1.4.1 概述 将活动作为相互关联、功能连贯的过程系统来理解和管理时,可更加有效和高效的得到一致的、可预知的结果。 1.4.2 理论依据 质量管理体系是由相互关联的过程所组成。理解体系是如何产生结果的,能够使组织尽可能地完善其体系和绩效。 1.5 改进 1.5.1 概述 成功的组织持续关注改进。 1.5.2 理论依据 改进对于组织保持当前的绩效水平,对其内、外部条件的变化做出反应并创造新的机会都是非常必要的。 1.6 循证决策 1.6.1 概述 基于数据和信息的分析和评价的决策,更有可能产生期望的结果。 1.6.2 理论依据 决策是一个复杂的过程,并且总是包含一些不确定因素。它经常涉及多种类型和来源的输入及其解释,而这些解释可能是主观的。重要的是理解因果关系和可能的非预期后果。对事实、证据和数据的分析可导致决策更加客观、可信。 1.7 关系管理

数据结构家谱课程设计报告

家谱管理系统 姓名:田鑫磊 学号:1514020421 (1)功能部分: 本程序共实现了6个功能分别为: 1.读出家谱并显示 2.确定指定成员在家族中的辈份 3.输出指定辈的所有成员 4.在家谱中添加新成员,并追加到文件中 5.输出指定家庭的所有成员 6. 退出本系统 (2)各功能的算法思想: 1.读出家谱并显示 存储结构用栈,按照先显示双亲,然后显示其所有孩子的顺序显示所有的家庭成员。 2.确定指定成员在家族中的辈份 用求成员所在的二叉树中的层数(按层遍历二叉树)来确定,这里采用的是递归算法3.输出指定辈的所有成员 此处定义了一个新的结构体类型(增加存储节点所在的层数),定义如下: struct { BTNode *q; int loc; //存结点所在的层数 }qu[10]; 并用一个队列来比较显示同辈分的所有成员。 4.在家谱中添加新成员,并追加到文件中 首先,输入一个新成员的名字; 然后,输入其双亲; 之后,再添加到整个存储二叉链表中。 然后,再将新的存储结构写回到文件中。 二叉链表的结点类型为:typedef struct node { ElemType data[10]; //存放成员的名字 struct node *child; //其孩子指针 struct node *brother; //其兄弟指针 }BTNode; 5.输出指定家庭的所有成员 首先,设一个栈,并设一个标记位,先置1; 然后,找到输入的要待显示的成员,将标记位置0; 再次,显示其孩子和兄弟,依次下去直到显示完其所有的亲戚。 6.退出本系统 通过一个输入字符q来控制,每完成一个功能,系统提示是否要继续操作:

实验室管理程序

实验室管理程序 1目的 为了确保实验室具备所从事检测和校准活动的能力,健全实验室管理,以提供及时、准确、公正、严谨的服务,特制定本程序。 2范围 本程序适用于产品(性能)实验室、精密检测实验室、校准、理化实验室的范围、程序、人员要求、过程控制及外委过程的确定。 3术语 3.1实验室:检验、检测和校准的设施,可包括但不限于化学、冶金、尺寸、物理、电子或可靠性的测试。 3.2检验:通过观察和判断,适当时结合测量、试验所进行的符合性评价。 3.3检测:按照规定的程序,为确定给定的产品、材料、设备、生物组织、物理现象、工艺或服务的一种或多种特性的技术操作。 3.4校准:在规定条件下,为确立计量仪器或计量系统的示值或实物量具所代表的值与相对应的被计量的已知值之间关系的一组操作。 3.5实验室范围:包括以下内容的受控文件: ?实验室有资格开展的具体测试、评估和校验 ?开展上述活动的所需的设备清单 ?开展上述活动的方法和标准清单 3.6实验室认可:权威机构给予某实验室具有执行规定任务能力的正式承认。3.7非标准试验:指国际标准、国家标准、行业标准、地方标准中没有规定的试验方法。主要是指本企业自己确定的试验方法。 4职责 4.1产品工程处为本程序主管部门,负责产品(性能)试验室的管理。 4.2质量保证处计量检测中心负责产品检测及校准和理化实验室的管理。 4.3铸造分厂负责本单位实验室的管理。 4.4人力资源处负责实验室试验、检验人员的培训、建档工作。 5内容 5.1工作流程

责任部门 管理策划处 工业工程组 各实验室 人力资源处各实验室各实验室 各实验室 各实验室 实验室 各实验室 各实验室 各实验室 各实验室发展规划处各实验室采购供应处各实验室0 1 02 03 04 05 06 07 08 09 10 1 1 12 13 流程图输出文件 实验室编制和岗位描述,组 织机构图 质量方针 人员名单和技术档案 试验项目清单 标准设备清单,标准清单,标准物 质清单 试验标准清单 文件记录目录借阅记录 非标准试验规程确认记录 测量不确定度分析报告 试验设施环境的需求报告,实验 室环境监试测 检测设备采购立项申请 设备档案,维护计划,维护记录 使用维护说明书

数据结构家谱管理系统

//////////////////////////////////////////////////////////// /////////////////// //题目:家谱资料管理 //要求:家谱用于记录某家族历代家族成员的情况与关系。现编制一个家谱资料管理软件, //实现对一个家族所有的资料进行收集整理。支持对家谱的增加,删除,更新,统计等。 //////////////////////////////////////////////////////////// /////////////////// #include #include #include int MATEFLAG=0; typedef struct TreeNode

int Num; //记录这个人拥有几个儿女 char Name[20]; //记录这个人的姓名 char Kind; //标示节点的种类有女G男B struct TreeNode * NextNode[20]; //记录这个人的儿女struct TreeNode * Parent; //记录这个节点的父节点 }TreeNode; void CreatTree(TreeNode *Tree); void OutPutAll(TreeNode *Tree); TreeNode * SearchTree(TreeNode *Tree,char name[],int length); void MainMenue(TreeNode *Tree); void SubMenue1(TreeNode * Tree); void SubMenue2(TreeNode *Tree); void Change(TreeNode * Tree); void AddNew(TreeNode * Tree);

最新数据结构课程设计题目

数据结构课程设计 一、考核方法和内容 根据课程设计过程中学生的学生态度、题目完成情况、课程设计报告书的质量和回答问题的情况等按照10%、40%、30%、20%加权综合打分。成绩评定实行优秀、良好、中等、及格和不及格五个等级。评分标准: 优秀:答辩所有问题都能答出+报告良好 或报告良好+实现“提高部分”的功能; 良好:答辩所有问题都能答出+报告一般; 或报告一般+实现“提高部分”的功能; 中等:答辩大部分问题能答出+报告良好; 及格:答辩大部分问题能答出+报告一般; 以下四种,都不及格: 1)答辩几乎答不出问题; 2)报告几乎都是代码; 3)雷同部分达到60%; 4)课设报告与数据结构和c/c++关联不大。 课设报告的装订顺序如下: 任务书(签名,把题目要求贴在相应位置,注意下划线)-----目录(注意目录的格式,页码)-----1、设计任务(题目要求)-----2、需求分析(准备选用什么数据逻辑结构?数据元素包含哪些属性?需要哪些函数?为什么要这样设计?最后列出抽象数据类型定义)-----3、系统设计(设计实现抽象数据类型,包含选择什么物理存储方式?数据元素的结构体或类定义,以及各函数的设计思路,算法,程序流程图等)----4、编码实现(重要函数的实现代码)-----5、调试分析(选择多组测试数据、运行截图、结果分析)-----6、课设总结(心得体会)-----7、谢辞-----8、参考文献; 课设报告打印要求: B5纸张打印,报告总页数控制在10—15页内,报告中不能全是代码,报告中代码总量控制在3页内。版式:无页眉,有页码,页码居中 字号:小四,单倍行距 字体:宋体+Times new Romar 截图:截图要配图的编号和图的题目,如:“图1 Insert函数流程图” 二、课程设计的题目 1.长整数的加法运算 2.通讯录管理系统的设计与实现——顺序表 3.广义表的应用 4.学生成绩管理系统的设计与实现 5.家谱管理系统的设计与实现 6.集合的并、交和差运算的程序 7.运动会分数统计 8.一元多项式计算器 9.文章编辑 10.哈夫曼树及其编码 11.校园导游咨询 12.通讯录管理系统的设计与实现——单链表 13.地图着色问题 14.内部排序算法比较 15.火车售票系统 16.图书管理系统 17.客户消费积分管理系统 18.产品进销存管理系统

家谱管理系统(含源代码)

家谱管理系统——C语言(数据结构) 目的和要求:树形结构是一种非常重要的非线性结构,它用于描述数据元素之间的层次关系,人类家谱是树形结构的典型体现,通过此项训练让学生掌握树形结构的知识;使学生重点掌握树与二叉树的转换,二叉树的存储和遍历,和二叉树相关的一些运算;要求完成家谱信息的录入和保存,任意成员的查找及某一成员祖先、子孙、兄弟、堂兄弟的查找。 排答疑和辅导。 完整代码: #include #include #include int MATEFLAG=0; //是否入赘或嫁入这家的,1表示为是,0表示否 typedef struct TreeNode//树节点定义 { int Num; //保存此人儿女个数 char Name[20]; //保存此人姓名 char Kind; //保存此人性别,男M,女F struct TreeNode * NextNode[20]; //保存此人的儿女,NextNode[0]里存放配偶的地址struct TreeNode * Parent; //保存此节点的父节点 }TreeNode; void CreatTree(TreeNode *Tree);//创建树 void OutPutAll(TreeNode *Tree);//输出树 TreeNode * SearchTree(TreeNode *Tree,char name[],int length); void MainMenu(TreeNode *Tree); void SubMenue1(TreeNode * Tree); void SubMenue2(TreeNode *Tree); void Change(TreeNode * Tree); void AddNew(TreeNode * Tree); void OutPutMessage(TreeNode * Tree,char name[],int length); //主函数 void main() { TreeNode *Tree;//产生根节点 Tree=(TreeNode *)malloc(sizeof(TreeNode)); Tree->Parent =NULL; strcpy(Tree->Name,"0"); MainMenu(Tree);//显示主菜单 } //添加新的成员 void AddNew(TreeNode * Tree) { SubMenue2(Tree);//添加新成员界面 } //显示添加家庭信息的界面

数据结构(二叉树)家谱管理系统

数学与计算机学院 课程设计说明书 课程名称: 数据结构与算法课程设计 课程代码: 题目: 二叉树生成家谱 年级/专业/班: 学生姓名: 学号: 开始时间: 2015 年 12 月 09 日 完成时间: 2015 年 12 月 29 日 课程设计成绩: 指导教师签名:年月日目录(小三黑体,居中)

1 需求分析 (6) 1.1任务与分析 (6) 1.2测试数据 (6) 2 概要设计 (7) 2.1 ADT描述 (7) 2.2程序模块结构 (8) 2.3各功能模块 (9) 3 详细设计 (10) 3.1结构体定义 (10) 3.2 初始化 (11) 3.3 插入操作 (13) 3.4 查询操作 (15) 4 调试分析 (18) 5 用户使用说明 (18) 6 测试结果 (18) 结论 (23) 附录 (24) 参考文献 (25)

随着计算机科学技术、计算机产业的迅速发展,计算机的应用普及也在以惊人的速度发展,计算机应用已经深入到人类社会的各个领域。 计算机的应用早已不限于科学计算,而更多地应用在信息处理方面。 计算机可以存储的数据对象不再是纯粹的数值,而扩展到了字符、声 音、图像、表格等各种各样的信息。对于信息的处理也不再是单纯的 计算,而是一些如信息存储、信息检索等非数值的计算。那么,现实 世界的各种数据信息怎样才能够存储到计算机的内存之中,对存入计 算机的数据信息怎样进行科学处理,这涉及计算机科学的信息表示和 算法设计问题。为解决现实世界中某个复杂问题,总是希望设计一个 高效适用的程序。这就需要解决怎样合理地组织数据、建立合适的数 据结构,怎样设计适用的算法,以提高程序执行的时间效率和空间效 率。“数据结构”就是在此背景下逐步形成、发展起来的。 在各种高级语言程序设计的基本训练中,解决某一实际问题的步骤一般是:分析实际问题;确定数学模型;编写程序;反复调试程序直 至得到正确结果。所谓数学模型一般指具体的数学公式、方程式等,如牛顿迭代法解方程,各种级数的计算等。这属于数值计算的一类问 题。而现实生活中,更多的是非数值计算问题,如手机中的通讯录,人们对它的操作主要是查找、增加、删除或者修改电话记录。再如,人们经常在互联网上查阅各种新闻,或查阅电子地图,人们可以在某 城区地图上查找自己所需的街道或店铺,其操作主要是搜索和查询。 下面再来分析几个典型实例,它们的主要特点是:不同实例的数据元 素之间存在不同的关系;对数据信息的处理主要有插入、删除、排序、 检索等。 关键词:网络化;计算机;对策;二叉树

数据结构课程设计题目

数据结构课程设计 一、考核方法和容 根据课程设计过程中学生的学生态度、题目完成情况、课程设计报告书的质量和回答问题的情况等按照10%、40%、30%、20%加权综合打分。成绩评定实行优秀、良好、中等、及格和不及格五个等级。 评分标准: 优秀:答辩所有问题都能答出+报告良好 或报告良好+实现“提高部分”的功能; 良好:答辩所有问题都能答出+报告一般; 或报告一般+实现“提高部分”的功能; 中等:答辩大部分问题能答出+报告良好; 及格:答辩大部分问题能答出+报告一般; 以下四种,都不及格: 1)答辩几乎答不出问题; 2)报告几乎都是代码; 3)雷同部分达到60%; 4)课设报告与数据结构和c/c++关联不大。 课设报告的装订顺序如下: 任务书(签名,把题目要求贴在相应位置,注意下划线)-----目录(注意目录的格式,页码)-----1、设计任务(题目要求)-----2、需求分析(准备选用什么数据逻辑结构?数据元素包含哪些属性?需要哪些函数?为什么要这样设计?最后列出抽象数据类型定义)-----3、系统设计(设计实现抽象数据类型,包含选择什么物理存储方式?数据元素的结构体或类定义,以及各函数的设计思路,算法,程序流程图等)----4、编码实现(重要函数的实现代码)-----5、调试分析(选择多组测试数据、运行截图、结果分析)-----6、课设总结(心得体会)-----7、谢辞-----8、参考文献; 课设报告打印要求: B5纸打印,报告总页数控制在10—15页,报告中不能全是代码,报告中代码总量控制在3页。版式:无页眉,有页码,页码居中 字号:小四,单倍行距 字体:宋体+Times new Romar 截图:截图要配图的编号和图的题目,如:“图1 Insert函数流程图” 二、课程设计的题目 1.长整数的加法运算 2.通讯录管理系统的设计与实现——顺序表 3.广义表的应用 4.学生成绩管理系统的设计与实现 5.家谱管理系统的设计与实现

数据结构家谱管理系统报告书

数据结构大作业说明文档 一、题目的选择 这次数据结构的大作业,我的选题是家谱管理系统的设计与实现。由于平时疏于编程——针对我得个人实际——我把主要的目标定位在完成家谱管理系统得基本要求。(基本要求大纲中有,就不浪费版面了) 二、设计的思路 接到这个题目,我的总体设计思路是先为程序搭建好一个结构框架,再跟据时间的宽裕程度和其它的要求逐步增强程序的性能。 关于IO的设计: 考虑到题目要求家谱信息以树形的形式一次读入内存,而个人的各种资料现在虽然条目不多,但随着程序的升级,以后可能变得越来越大。我把树形结构和个人信息记录的文档分为两个文件保存在外存中,一个文件串行化地记录家谱树的结构信息,保存少量个人信息作为识别标志;另一个文件保存完整的个人信息,所有的个人信息以线性记录的方式记录在其中。当程序运行要读入家谱结构时,只读入保存少量记录的文件并建立起树形结构。索引时,以树形中的少量信息为依据在另一个文件中找到全部的各人信息资料。 这样的好处主要有两点: 1. 由于树形结构是串行化记录于外存,一个节点记录多次,信息大量冗余,如果树形节点中保留全部信息,必将造成大量的空间浪费;只保存作为索引的少量信息在树形结构中,节约了空间。 2. 由于结构的精简,在家谱初始化时读入内存需要的时间相应减少,节约了装载时间。 这样做存在的问题: 每次执行修改,添加,删除,查询时都要直接访问外存来取得或写入数据。内外存访问上的巨大时间差的存在,使得进行这些操作相对来说并不显得很高效。 关于树形的结构: 在树形结构的选择上,根据实际中多子女的现象选择一般树,考虑到家谱中成员可能存在的不定成员数问题,抛弃了以数组为基础的一般树方案,决定用链表来实现。 树形结构的外存保存。为了提高效率,树形结构在程序初始化时由外存文件一次读入内存,此后不管插入还是修改,删除都不再对外存的树结构保存文件进行操作,只在内存中处理,程序退出时对外存树结构文件进行一次更新。也就是说,不管在程序运行中中对家谱结构进行多少种,多少次的操作,外存的树结构文件始终只会被程序访问两次。

IATF16949体系文件S5.02 实验室管理程序

有限公司文件编号QP.S5.02 实验室管理程序IATF 16949:2016修订次数 A.0 制·修订 日期 [发布日期]

1、目的 为了确保内部实验室能按照规定的程序准确、及时地完成本实验室工作范围的检验、试验或校准服务,从而保证产品符合规定要求,特制订本程序。 2、范围 本程序规定了内外部实验室管理办法及要求,适用于本公司和委托外部实验室进行的所有产品检测和试验。 3、术语和定义 本程序引用ISO 9001:2015的术语和定义;其他: 3.1 实验室:进行检验、试验和校准的设施,其范围包括但不限于化学、金相、尺寸、物理、电性能或可靠性试验。 3.2 外部试验室:依据ISO/IEC17025或国家等效文件获得认可的,用于检验、试验或校准服务的外部/商业/独立的实验室。 4、职责 4.1. 技术部:负责内部实验室的管理,编制或提供试验大纲、试验标准、产品试验计划,以及所 有检测和试验的抽样、试验或委托试验。 4.2. 实验室:负责按要求进行试验,提供产品检测试验报告。

5、工作流程 负责部门输入流程输出方法说明 技术部 实验室资质要求 实验人员资质要求 R.S5.02.01. 实验室范 围清单 组织机构 上岗证 执行标准、作业要求等 -实验室范围,包括检验、试验和 校准服务的能力 -组织机构、执行标准(国际/国 家)、工作要求、工作程序以及必 要的作业指导书、实验室环境等 -实验室操作人员必须经过培训, 具备一定的实践经验,并持有上 岗证 技术部实验室手册 R.S5.02.02. 新产品开 发试验计划 R.S5.02.03. 年度产品 试验计划 -新产品试验:产品从开发至顾客 批准前的所有试验;按照新产品 开发试验计划安排试验 -常规试验:产品在批量投产后对 产品和零部件检验指导书中规定 的试验项目所进行的试验 -型式试验:产品在批量投产后为 验证生产过程中产生的产品变差 而进行全性能定期试验;按年度 产品试验计划安排试验;客户有 要求的按客户要求进行试验 -工艺试验:产品在批量投产后, 为验证生产过程中的质量改进而 进行的试验,以提供改进依据内部实验室资质 实验分类及策划 新产品试验型式试验 常规试验型式试验 是否内部 实验? C Y N 2/6

家谱管理系统数据结构大作业

家谱管理系统 任务:实现具有下列功能的家谱管理系统功能要求: 1). 输入文件以存放最初家谱中各成员的信息,成员的信息中均应包含以下内容:姓名、出生日期、婚否、地址、健在否、死亡日期(若其已死亡),也可附加其它信息、但不是必需的2). 实现数据的存盘和读盘。 3). 以图形方式显示家谱。 4). 显示第n 代所有人的信息。 5). 按照姓名查询,输出成员信息(包括其本人、父亲、孩子的信息)。 6). 按照出生日期查询成员名单。 7). 输入两人姓名,确定其关系。 8). 某成员添加孩子。 9). 删除某成员(若其还有后代,则一并删除)。 10).修改某成员信息。 11).按出生日期对家谱中所有人排序。 12).打开一家谱时,提示当天生日的健在成员。要求:建立至少30 个成员的数据,以较为直观的方式显示结果,并提供文稿形式以便检查。界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。存储结构:学生自己根据系统功能要求自己设计,但是要求相关数据要存储在数据文件中。测试数据:要求使用1、全部合法数据; 2、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明; */ #include #include #include #include #include"map.h" #define MAXN 100 #define MAXMEM 100 #define Elemtype char // 树 typedef struct BiTNode { int mark;// 标记 int level; char name[50];// 姓名 char birthday[50];// 生日 char address[MAXN];// 住址 bool marriage;// 婚否(true 表示结婚,false 表示没结婚) bool live;// 建在(true 表示活着,false 表示过世) bool sex;// 性别(true 表示男,false 表示女) char livemassage[50];// 死亡日期(如果其已经死亡) Elemtype data;// struct BiTNode *lc,*rc; }BiTNode,*BiTree; // 树的相关操作 char nametemp[50];// 姓名 char birthdaytemp[50];// 生日

数据结构课程设计题目

数据结构课程设计题目 题目一考试报名系统(必做) 项目简介: 考试报名工作给各高校报名工作带来了新的挑战,给教务管理部门增加了很大的工作量。本项目是对考试报名管理的简单模拟,用控制台选项的选择方式完成下列功能:输入考生信息;输出考生信息;查询考生信息;添加考生信息;修改考生信息;删除考生信息。 项目功能要求: 本项目的实质是完成对考生信息的建立,查找,插入,修改,删除等功能。其中考生信息包括准考证号,姓名,性别,年龄和报考类别等信息。项目在设计时应首先确定系统的数据结构,定义类的成员变量和成员函数;然后实现各成员函数以完成对数据操作的相应功能;最后完成主函数以验证各个成员函数的功能并得到运行结果。(建议采用链表实现) 系统示例 题目二约瑟夫生者死者游戏

项目简介 约瑟夫生者死者游戏的大意是:30个旅客同乘一条船,因为严重超载,加上风高浪大危险万分;因此船长告诉乘客,只有将全船一半的旅客投入海中,其余人才能幸免于难。无奈,大家只得统一这种方法,并议定30个人围成一圈,由第一个人开始,依次报数,数到第9人,便将他投入大海中,然后从他的下一个人数起,数到第9人,再将他投入大海,如此循环,直到剩下15个乘客为止。问哪些位置是将被扔下大海的位置。 项目功能要求:(要求采用单循环链表) 本游戏的数学建模如下:假如N个旅客排成一个环形,依次顺序编号1, 2, …, N。从某个指定的第S号开始。沿环计数,每数到第M个人就让器出列,且从下一个人开始重新计数,继续进行下去。这个过程一直进行到剩下K个旅客为止。 本游戏要求用户输入的内容包括: 1、旅客的个数,也就是N的值; 2、离开旅客的间隔书,也就是M的值; 3、所有旅客的序号作为一组数据要求存放在某种数据结构中。 本游戏要求输出的内容是包括: 1.离开旅客的序号; 2.剩余旅客的序号。 系统示例 题目三勇闯迷宫游戏 项目简介: 迷宫只有两个门,一个门叫入口,另一个门叫出口。一个骑士骑马从入口进入迷宫,迷宫设置很多障碍,骑士需要在迷宫中寻找通路以到达出口。

数据结构大作业之家谱管理系统

C++实现的数据结构大作业之家谱管理系统 欢迎界面: 主菜单: 其他一些运行结果不在一一列举,一面篇幅过长。

这个家谱管理系统,支持键盘操作,所有的操作都可以用键盘完成,如选择功能、退出等。代码的实现使用的是c++11标准,与旧标准或有不同。 类的头文件: #include #include using std::string; using std::ostream; using std::istream; struct BirthDay{//生日结构变量 int year=0;int month=0;int day=0; }; class Member{ friend class FamilySystem; friend ostream&operator<<(ostream&out,const Member&m);//输出成员信息到控制台 friend istream&operator>>(istream&in,Member &m);//从文件中读入成员信息 public: Member()=default;//使用默认合成构造函数 void setE();//通过控制台输入给成员赋值 ~Member()=default;//使用默认合成析构函数

Member*pson=nullptr;//指向儿子的指针 Member*pbro=nullptr;//指向兄弟的指针private: //成员的各种数据 string name="未知"; string birthPlace="未知"; BirthDay birthDay; string sex="未知"; float height=0; int age=0; string education="未知"; string job="未知"; string father="未知"; }; class FamilySystem{ public: FamilySystem()=default;//使用默认合成构造函数 ~FamilySystem(){ delete root; } bool fileInit();//从文件中读取数据 int menu();//显示菜单(功能) bool addMem();//增加成员

ISOIATF16949实验室管理程序教学文稿

I S O I A T F16949实验 室管理程序

1、目的Purpose 规范公司内部实验室及相关检试验仪器设备与操作管理、外部实验室的选择与管理等,以期控制与管理符合相关方标准与要求 2、适用范围Scope 适用于公司内部实验室所有检试验仪器设备、量测器具及其操作使用;应检试验需要,对于外部实验室的选用等 3、职责Responsibility 3.1 品质管理部:负责检测设备的使用、日常保养、校验及维护、检测室 管理 3.2 研发部:检测设备的使用与维护 4、定义Definition 无 5、程序内容Procedure Process 5.1 检测室质量系统 5.1.1检测室应确定其检测范围,应将其所有设备作业指导和使用检测室 产生正确试验结果的现象都文件化,并置于检测作业现场 5.1.1.1能量色散X荧光光谱仪(XRF)依据《RoHS检测仪器使用说明 书》作业 5.1.1.2胶带保持力试验机依据[胶带保持力试验机使用指导书]作业 5.1.1.3电动横型机依据《电动横型机使用指导书》作业

5.1.1.4电子万能材料试验机依据[电子万能材料试验机使用指导书]作 业 5.1.1.5电动碾压滚轮机依据《电动碾压滚轮机使用指导书》作业 5.1.1.6涉及其它方面的各类相关检验试验、量测方面的仪器设备、 量测工具等,可参阅相对应的程序、规范或指导书等作管控 5.1.2 检测室政策:精准、快速、可靠 5.2 仪器设备及工具 5.2.1仪器设备的管理依照《监视测量仪器校正与维护管理程序》和《生 产设备与治工具维护管理程序》作业 5.2.2 各类检试验仪器设备须备有操作说明书、名称型号、准确度及操 作范围 5.2.3 各类检试验仪器设备、工具须具有校验记录 5.2.4 各类检试验仪器设备、工具须备有[量测仪器保养点检表] 5.3人员资格规范 5.3.1检测人员需依照《新进与在职员工教育训练管理程序》须经岗前或 在岗教育训练合格后达到执证上岗,人事单位保留培训记录与考 核验证记录,登记于[培训履历表]中 5.3.2 XRF光谱仪需经外部机构培训(或有资质的供应商)且有考核合格证 书,及须备有记录 5.3.3 实验人员需经实验机构培训且考核合格,及备有记录;且应具有实 际操作经验

数据结构家谱管理系统

数据结构家谱管理系统公司内部档案编码:[OPPTR-OPPT28-OPPTL98-OPPNN08]

宁波大红鹰学院 信息工程学院 课 程 设 计 报 告 项目名称:家谱查询系统 项目组长:白钰琦 项目成员:徐程凯、徐海域、项鸿伟 班级名称:10计科1班 专业名称:计算机科学与技术 完成时间: 2012年12月1日 信息工程学院制 目录 一、案例描述................................................... 1、总体描述................................................ 2、模块描述................................................ 二、设计思路................................................... 三、程序设计...................................................

1、数据结构描述............................................ 2、主函数及其流程图........................................ 3、源程序.................................................. 四、调试与分析................................................. 1、主菜单.................................................. 2、显示家谱信息............................................ 3、显示家谱中第n代人所有信息.............................. 4、按姓名查找某人并相应输出................................ 5、按出生日期查找家谱成员信息.............................. 6、为家谱中成员添加孩子信息................................ 7、为家谱中成员添加妻子信息................................ 8、删除家谱中成员及其后代信息.............................. 9、修改家谱中成员信息...................................... 10、确定家谱中两个成员关系................................. 11、按出生年月排序家谱..................................... 五、设计总结................................................... 1、完成情况................................................ 2、心得体会................................................

相关主题
文本预览
相关文档 最新文档