首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

程序异常~求指教~

2013-11-26 
程序错误~~求指教~~我输入有关系的个人信息~~但是不显示父母~~错误没看出来~~程序源码在下~~http://my.osc

程序错误~~求指教~~


我输入有关系的个人信息~~但是不显示父母~~错误没看出来~~程序源码在下~~

http://my.oschina.net/u/1408882/blog/178570


这个不是作业~~纯属个人爱好~~希望求得指点~~ 不是作业,输入信息,核对关系,显示关系
[解决办法]

while(current!=NULL)//改成这样,不是比较下一个不是NULL,不然最后一个无法比较
{
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);
}
感觉还有些其他问题,代码模块上最好能拆解一下,一般一个某块在5-10行左右,最好不超过20行。main写的长了,完全可以再拆成3个函数。总之尽量的简单点,自己号管理,看代码也不累。每个函数间功能也尽可能单一,最好能光看命名不看代码就知道该某块的功能会更好
[解决办法]
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。
提醒:再牛×的老师也无法代替学生自己领悟和上厕所!
单步调试和设断点调试是程序员必须掌握的技能之一。

热点排行
Bad Request.