return; } m_NameList.SetCurSel(sel);//选中所找到的记录项 OnSelchangeNamelist(); }
/**********************************************\\ 函数原型:void OnSearchbyphonw() 功能:以电话方式查找相应记录 输入为空 输出为空
***********************************************/ void CPhoneBookDlg::OnSearchbyphone() { // TODO: Add your control notification handler code here UpdateData(); PhoneCard *temp=curr;//将当前结点的地址存入一个临时指针中 int sel = m_NameList.GetCurSel();//得到当前记录的序号 do { curr=curr->next;//从当前记录的下一记录开始查找 sel++;//序号加1 if(curr==NULL)//如果已经查找到表尾 { curr=head->next;//将当前指针移动到头结点的下一个结点,因为头结点并不存放数据 sel=0;//第一条记录的序号为0 } if(!(strcmp(curr->num,m_szSearchContent)))//如果匹配成功 { m_NameList.SetCurSel(sel);//选中找到的记录项 OnSelchangeNamelist(); return;//已完成查找,退出函数体 } }while(curr!=temp);//循环条件为没有遍历整个链表 MessageBox(\找不到记录!\提示\ARNING);//已经遍历整个链表但没有找到记录,输出查找失败信息 return; }
21
六、总结
在设计的过程中,刚开始有很多问题不是很清楚,所以走起来就很困难。有时候在遇到问题的时候,基本知识都了解,但是不知道怎么把他们整合起来,知识没有形成系统,都是很零散的东西。而且,由于以前的基础知识不够牢固,是的我在这次课程设计中感到更加的困难。在设计的过程中,每走一步就会发现,思路想出来很容易,但涉及当然一个程序的顺利出炉,少不了的就是反复的调试和更改。在调试的过程中,总发现很多错误,在解决这些错误的同时,开始很模糊的概念,就会越来越清晰。其实很多错误都是很类似的,只要解决了一个,其他的也就迎刃而解了。
当自己最后慢慢尝试去解决程序中的一个个错误时,自己对MFC的理解也在慢慢加深,也没觉得MFC是那么难了。万事开头难,但只要我们动手去做了,就会发现那些东西也没那么复杂。这次课程设计也可以说是为毕业设计做了个预演,真正开始做的时候发现困难重重,这个时候发现自己所学的知识都只是皮毛,而且自己根本没有掌握那些知识,这需要我不断的学习,同时我还在图书馆里借了一些有关数据库的书。不断地发现问题并解决问题,经过这次课程设计我发现需求分析是很重要的,只要需求分析做好了,后面的就比较好做了。
谈谈本次的心得体会,一方面,我感觉颇有成就感,但是,另一方面,我知道我们所做的电话薄还有很多的不足。将此系统运用到实际中去,可能会遇到很多的问题,对于此信息系统,我们还有许多地方要进一步完善。由于我们自己的能力有限,再加上缺乏更多的实际操作,所以要完成一个完美的数据库,我们还要学很多。但我认为我们已经达到了本次课程设计的要求。在以后的时间里,我们会学更多关于MFC编程的知识,来丰富我们自己。
22
七、主要参考文献
[1] 郑莉,董渊,张瑞丰. C++语言程序设计(第三版). 北京:清华大学出版社,2003 [2] 谭浩强. C++程序设计. 北京:清华大学出版社,2004
[3] 陈卫卫. C/C++程序设计教程. 北京:中国铁道出版社,2004 [4] 柴欣. C/C++程序设计. 河北:河北大学出版社,2002
[5] 和克智. C++程序设计(第2版). 西安:西安交通大学出版社,1999
23
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于C++的通讯录管理系统课程设计(5)在线全文阅读。
相关推荐: