1、C+C+语言语言课程设计报告课程设计报告 一、一、课题名称:简单通讯录管理课题名称:简单通讯录管理 二、二、程序功能程序功能: 一个简单的通讯录管理程序 ,具有插入、删除、显示、修改和查询联系人通讯方式等功能。 三、三、课题分析;课题分析; 本课程设计的数据有每个人的姓名,电话号码和 Email 地址,并且所有人的数据默认以 姓名为关键字按升序排放,排序方式可修改,同时为了减少执行“添加” 、 “删除”等过 于复杂和繁琐的操作,采用单向链表来进行数据的存储和操作。同时需要一个文本文件 来存储联系人信息,数据可从该文本文件中导出。 四四、设计中的问题与解决方法、设计中的问题与解决方法: 从文本文
2、件中载入数据时,出现不能读的情况,解决的办法是分情况,写程序分别进行处理。 此外从文本文件中载入数据时,出现不同类数据合并现象,原因是数据之间无空格,解决方法是 增大字段占用宽度。 五、五、对设计的感想和心得对设计的感想和心得: 程序的编写应是:三分编写,七分调试; 熟能生巧,这次在用指针处理单向链表时, 感觉很吃力,以前对这块内容并不十分清楚,所以在今 后的编程之中,尽可能把基本技能练习熟练; 为了方便使用,我选择了汉化菜单; 3.3.程序程序源代码(及简单注释) :源代码(及简单注释) : 主函数如下主函数如下: #include #include #include #include #i
3、nclude #include #include“简单通讯录.h“ void add(AddrList /姓名 char mobilephone15;/手机号码 char email20;/Email 地址 Node *nodeptr;/定义一个 Node 类对象 nodeptr=new Node; coutnamemobilephoneemail; nodeptr-SetName(name);/调用类内置入函数给结点赋值 nodeptr-SetMobilePhone(mobilephone); nodeptr-SetEMail(email); addrlist.AddSort(nodeptr
4、); coutname; coutc; if(c=y|c=Y) addrlist.Delete(name);/调用 addrlist 类的删除成员函数 cin.get(); cin.get(); void showall(AddrList /调用 addrlist 的成员函数 cin.get(); cin.get(); void query(AddrList /姓名 Node *p; coutname1; if(addrlist.GetTag()=1) p=addrlist.LookUp(name1); coutname; p-SetName(name); tag=1; addrlist.Sort(tag); else if(n=2) coutSetMobilePhone(mobilephone); tag=2; addrlist.Sort(tag); else coutSetEMail(email); coutfilename; ifstream in(filename,ios:nocrea