} } return root; //返回结点 void FamilyTree::Release(Node *root) //析构函数调用 { } void FamilyTree::SetNode(Node *root) //设置结点信息 { if(root!=NULL) { } Release(root->child); //释放左孩子 Release(root->brother); //释放右兄弟 delete root; Numberofpeople++; cout<<\请输入家庭成员的基本信息\cout<<\姓名:\cin>>root->data.name; cout<<\出生地:\cin>>root->data.birthPlace; 25 cout<<\生日(数字、年月日以空格或者回车间隔):\while(1) { } //isdigit异常处理生日输入,若参数c为阿拉伯数字0~9,则返回非0cin>>root->data.birthDay; if(cin.fail()) { } else break; cout<<\输入有错!!请重新输入生日(数字):\cin.clear(); //输入错误则能重新输入 cin.sync(); //清空流 值,否则返回NULL。 /*int i; for(i=0;root->data.birthDay[i]!=0;++i) { if(isdigit(root->data.birthDay[i])==0) { cout<<\输入不明确,请重新输入!!\break; 26 } }*/ cout<<\性别:\cin>>root->data.sex; cout<<\学历:\cin>>root->data.education; cout<<\工作:\cin>>root->data.job; cout<<\父亲:\cin>>root->data.father; cout<<\配偶(有多任配偶则以“,”或者“、”间隔):\cin>>root->data.spouse; cout<<\是否健在(y 是,n 否):\cin>>root->data.life; if(toupper(root->data.life)!='Y') //异常处理 { if(toupper(root->data.life)!='N'){ int t=1; do { cout<<\输入不明确,请重新输入!!\cout<<\是否健在(y 是,n 否):\27 } } cin>>root->data.life; if((toupper(root->data.life)=='Y')||(toupper(root->data.life)=='N')) t=0; }while(t==1); } if(toupper(root->data.life)=='Y') LifePeopele++; void FamilyTree::PreOrder(Node *root) //前序递归遍历输出家谱 { } 28 if(root==NULL) return; else { } cout<
数据结构家谱管理系统(二叉链表)(7)
2020-05-23 15:34
数据结构家谱管理系统(二叉链表)(7).doc
将本文的Word文档下载到电脑
下载失败或者文档不完整,请联系客服人员解决!