程序错误~~求指教~~
我输入有关系的个人信息~~但是不显示父母~~错误没看出来~~程序源码在下~~
http://my.oschina.net/u/1408882/blog/178570
这个不是作业~~纯属个人爱好~~希望求得指点~~ 不是作业,输入信息,核对关系,显示关系
[解决办法]
while(current!=NULL)//改成这样,不是比较下一个不是NULL,不然最后一个无法比较感觉还有些其他问题,代码模块上最好能拆解一下,一般一个某块在5-10行左右,最好不超过20行。main写的长了,完全可以再拆成3个函数。总之尽量的简单点,自己号管理,看代码也不累。每个函数间功能也尽可能单一,最好能光看命名不看代码就知道该某块的功能会更好
{
int parents=0;
last=first;//第一个开始查,而不是当前的下一个
while(last!=NULL)
{
if(related(current,last))
if(++parents==2)
break;
last=(*last).next;
}
current=(*current).next;
}
bool related(struct Family *pmember1,struct Family *pmember2)
{
//return set_ancestry(pmember1,pmember2)
[解决办法]
set_ancestry(pmember1,pmember2);
//重复操作没有意义啊,改成下面这样,或者去掉该函数直接调用set_ancestry
return set_ancestry(pmember1,pmember2);
}