📄 addmember.cpp
字号:
#include"DefineStruct.h"//若增加配偶时,欠检查其人是否已有配偶,若增加孩子是,欠检查其父或母是否有配偶
void AddMember(family * & member,int & total)
{
cout<<"现在开始建立一个新成员"<<endl;
int addway;//记录添加成员方法,1为成员子女,2为成员配偶
family NewMember;
InitMember(NewMember);//初始化成员
NewMember.ID=total+1;
a: cout<<"请问是以什么方式加入成员:\n"
<<"1,以成员子女身份加入\n"
<<"2,以成员配偶身份加入\n"
<<"请选择:";
cin>>addway;//可以加一个对输入数据的确定
if(addway!=1 && addway!=2)
{
cout<<"输入错误!";goto a;
}
cout<<"请输入新成员姓名:";
cin>>NewMember.name;//输入姓名,欠输入检查
cout<<"请输入新成员出生日期:";
NewMember.BirthDate=CinDate();//输入日期函数
cout<<"请输入新成员的出生地:";
cin>>NewMember.WhereBirth;//输入出生地,欠检查
cout<<"请输入新成员身高(单位:cm):";
cin>>NewMember.height;//输入身高,欠输入检查
if(addway==1)//增加孩子
{
NewMember.IsMember=1;//修改为族内成员
b: cout<<"请输入新成员的父亲或母亲名字:";
char PName[10];//用于记录父亲名
cin>>PName;
int PID=FindName(PName,member,total);//查找此人,PID用于记录父母ID
if(PID==0){cout<<"输入错误!\n"; goto b;}
if(member[PID].LoverID==0){cout<<"输入错误!此人没有配偶\n"; goto b;}
if(member[PID].sex==0)//此名字为男性
{
NewMember.DadID=PID;
NewMember.MumID=member[PID].LoverID;
}
else//此名字为女性
{
NewMember.MumID=PID;
NewMember.DadID=member[PID].LoverID;
}
NewMember.GenID=AddChild(PID,NewMember.ID,member,total)+1;//AddChild(int,int,family *,int),用于再父母数据中增加孩子ID,并返回父母的代数
d: cout<<"请输入孩子的性别"
<<"\n1为男孩\t2为女孩:";
char sexforchild;
cin>>sexforchild;
switch(sexforchild)
{
case '1':NewMember.sex=0;break;
case '2':NewMember.sex=1;break;
default:cout<<"输入错误!\n";goto d;
}
}//孩子设置完
else
{
c: cout<<"请输入新成员配偶姓名:";
char LoverName[10];//用于记录配偶姓名
cin>>LoverName;//欠一个检查,检查是否有此人,
int LID=FindName(LoverName,member,total);
if(LID==0)
{
cout<<"没有此人"<<endl;
goto c;
}
NewMember.LoverID=LID;
member[LID].LoverID=NewMember.ID;//修改另一方得LoverID
cout<<"请输入新成员的学历:";
cin>>NewMember.schooling;
cout<<"请输入新成员的职业:";
cin>>NewMember.occupation;
cout<<"请输入新成员的职称:";
cin>>NewMember.title;
NewMember.IsMember=0;//修改为不是族人;
NewMember.GenID=member[NewMember.LoverID].GenID;
NewMember.sex=1-member[NewMember.LoverID].sex;//性别与配偶相反
}//增加配偶完
//下面是在数组中加入新成员NewMember
family * member1=new family[total+2];
int i;
for(i=0;i<=total;i++) member1[i]=member[i];
member1[total+1]=NewMember;
member=member1;//转换指针
total=total+1;
system("CLS");
cout<<"******************"<<endl<<"增加成功!!"<<endl<<"******************"<<endl;
return;
}//AddMember函数完
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -