欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    通讯录管理系统的制作.doc

    • 资源ID:1149295       资源大小:391.50KB        全文页数:20页
    • 资源格式: DOC        下载积分:10积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要10积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    通讯录管理系统的制作.doc

    1、宜春学院数学与计算机科学学院课程设计 宜春学院数学与计算机科学学院 课程设计说明书 课 程 名 称: 数据结构课程设计 课 程 代 码: 题 目: 通讯录管理系统的制作 年级/专业/班: 11软件开发 学 生 姓 名: 陈 宇 & 李佳灯 学 号: 1131309129 1131309118 指 导 教 师: 雷小园 开 题 时 间: 2012 年 12 月 11 日完 成 时 间: 2012 年 12 月 30 日第18页目 录摘 要- 1 -一、引 言- 2 -二、设计目的与任务- 2 - 2.1、数据结构设计- 2 - 2.2、算法的设计- 2 - 三、设计方案- 2 - 3.1对应模块

    2、相应算法- 2 - 3.1.1输入联系人信息- 2 - 3.1.2查找联系人信息- 2 - 3.1.3显示联系人信息- 2 - 3.1.4增加联系人信息- 2 - 3.1.5删除联系人信息- 2 - 3.1.6存储联系人信息- 2 - 3.1.7退出程序- 2 - 3.2运行与测试- 2 - 四、结 论- 2 -五、致 谢- 2 -六、参考文献- 3 - 摘 要课程设计是我们大学生学习中的一个十分重要环节,它是一门实践性的学科,考察大学生的动手操作能力以及分析解决问题的能力,课程设计主要是以某一门或者多门专业课程为基础,像C,C+等计算机语言,它的涉及到的面积十分广泛,例如大一做过的学生成绩管

    3、理系统,就是要我们对学生的成绩的基本信息做一个比较妥当的管理,因此它又具有实用性,它在我们生活中经常用到,它贴近生活。所以课程设计与其说是一门专业课,还不如说是生活实践课。本学期的专业基础学科是数据结构,本次设计的要求也是以数据结构为基础而设计的。数据结构课程设计,要求我们在熟练掌握数据结构的内容,深刻领悟学科的内涵的条件下,去设计一个系统,当然,在熟练掌握基础的同时,还必须要有明确的设计思路以及设计方法。在本次的课程设计中的题目是:通讯录管理系统的制作,这是我们生活中一个常用的一个工具。本系统结构清楚,实现添加联系人,删除,查找,并分为以姓名,电话号码两种方式查找,准确,可操作性强。通讯录管

    4、理系统制作的基本内容如下:1添加联系人;(利用链式存储)2查找联系人;(利用双向链表存储)3删除联系人。(利用双向链表存储)上述基本功能用链式存储比较方便,由于查找,删除都是以姓名或电话号码为关键字进行的,因此要用到双向链表,效率高,以实现各种功能。由此重点和难点是双向链表的建立,查找,删除等基本操作。通讯录管理项目,通过各种接口函数完成对联系人的添加,查找,删除。课 程 设 计-陈 宇一、 引 言数据结构是计算机科学各专业以及其他相近专业的核心课程之一,其研究的对象为问题的求解方法、程序设计方法和典型的数据结够的算法统讯录管理基本内容包括:添加,查找,删除联系人,上述基本功能用链式存储比较方

    5、便,由于查找,删除都是以姓名或电话号码为关键字进行的,因此要用到双向链表,效率高,以实现各种功能。由此重点和难点是双向链表的建立,查找,删除等基本操作。二、 设计目的与任务1.数据结构设计: 在本实验中我用的是双向链表,其主要优点是便于查找,删除操作,不用记录指针操作,因其本身有一个指向前驱节点,一个指向后继节点的指针。2.算法的设计: 本系统从整体上分为7大模块: (1)输入联系人信息 (2)查找联系人信息 /根据指定关键字进行相关查找(3)显示联系人信息 /显示所有联系人信息(4)增加联系人信息 /向通讯录中增加联系人信息(5)删除联系人信息 /根据指定关键字删除联系人信息(6)存储联系人

    6、信息 /存储通讯录中的联系人信息(7)退出程序 三、设计方案 对应模块相应算法为: (1):输入联系人信息dlink *enter(dlink *h)dlink *head,*r,*p,*q; head=h; r=h; q=h-Rlink;p=new dlink; cinp-data.name;cinp-data.phone;cinp-data.street;cinp-data.city;cinp-data.eip;cin p-data.state;p-Rlink=NULL;while(q!=NULL)r=q;q=q-Rlink;p-Llink=r;r-Rlink=p;r=p;return h

    7、ead;(2)查找联系人信息按姓名查找:void searchbyname(dlink *h) cinnam;/输入联系人姓名while(p&p-data.name!=nam)q=p;p=p-Rlink; /查找节点if(p)cout您要查找的联系人信息为:endl; cout*endl; coutnt姓名: data.nameendl; coutnt电话号码:data.phoneendl; coutnt街道名: data.streetendl; coutnt城市名: data.cityendl; coutnt邮编: data.eipendl; coutnt国家: data.stateendl

    8、; cout*endl;按电话号码查找:void searchbyphone(dlink *h) cout请输入要查找的联系人电话号码: callnum;while(p&p-data.phone!=callnum)q=p;p=p-Rlink;j+;if(p)cout您要查找的联系人信息为:endl; cout*endl; coutnt姓名: data.nameendl; coutnt电话号码:data.phoneendl; coutnt街道名: data.streetendl; coutnt城市名: data.cityendl; coutnt邮编: data.eipendl; coutnt国家

    9、: data.stateendl; cout*Rlink;for(i=1;i=num;i+) coutnttt第 i个联系人信息为:endl; cout*endl; coutnt姓名: data.nameendl; coutnt电话号码:data.phoneendl; coutnt街道名: data.streetendl; coutnt城市名: data.cityendl; coutnt邮编: data.eipendl; coutnt国家: data.stateendl; cout*Rlink; (4)增加联系人信息 dlink *add(dlink *h)dlink *head,*r,*p,

    10、*q; head=h; r=h; q=h-Rlink;coutntt* 请输入联系人信息 *endl;cout请输入姓名:p-data.name;cout请输入电话:p-data.phone; cout请输入街道名: p-data.street; cout请输入城市名: p-data.city; cout请输入邮编: p-data.eip; cout请输入国家名: p-data.state;p-Rlink=NULL;while(q!=NULL)r=q;q=q-Rlink; /while p-Llink=r;r-Rlink=p;r=p;return head;(5)删除联系人信息 dlink *

    11、deletebyname(dlink *h) /按姓名删除cout请输入要删除的联系人姓名: nam;while(p&p-data.name!=nam)q=p;p=p-Rlink;if(num=1) /num为联系人总数目 p-Llink-Rlink=NULL; free(p); num-; else if(p-Llink=head) p-Rlink-Llink=head; p-Llink-Rlink=p-Rlink; free(p); num-; else if(p-Rlink=NULL) p-Llink-Rlink=NULL; free(p); num-; else p-Rlink-Lli

    12、nk=p-Llink; q-Rlink=p-Rlink; free(p); num-; coutntt已删除成功!endl;return head;dlink *deletebyphone(dlink *h) /按电话号码删除dlink *head,*p,*q;cout请输入要删除的联系人电话号码: callnum;while(p&p-data.phone!=callnum)q=p;p=p-Rlink;if(num=1) p-Llink-Rlink=NULL; free(p); num-; else if(p-Llink=head) p-Rlink-Llink=head; p-Llink-Rl

    13、ink=p-Rlink; free(p); num-; else if(p-Rlink=NULL) p-Llink-Rlink=NULL; free(p); num-; else p-Rlink-Llink=p-Llink; q-Rlink=p-Rlink; free(p); num-; coutntt已删除成功!Rlink; if(!(fpFile = fopen(strFile,w)/以写的方式打开 printf(Open file failedn); return 0; while(p) fprintf(fpFile,%st%st%st%st%st%stn,p-data.name,p-d

    14、ata.phone,p-data.street,p-data.city,p-data.eip,p-data.state); p=p-Rlink; fclose(fpFile); return 1;void save(dlink *h) cout暂不支持 很快会解决Rlink=NULL;r=p;for(k=1;kp-data.namep-data.streetp-data.cityp-data.eipp-data.state;p-Rlink=NULL;p-Llink=r;r-Rlink=p;r=p;return head;运行时直接停止,无法正常测试数据;解决方法,由于我用string(C+中的

    15、类)定义成员对象,故在为链表开辟空间时,不能用c语言中 的函数malloc,在此我混用了这两个函数.将p=(dlink*)malloc(sizeof(dlink);改为p=new dlink;即可对程序进行了补充 能进行添加信息,查找信息,输出信息为了测试各种功能我们输入四组数据见下图:我们先显示联系人信息在进行查找操作选2假设输入chenyu现在我们测试删除功能 接上选N 回主菜单再选5按姓名删除若选Y若选N对于保存操作到目前为止还没有解决,期间我查了好多资料,也请教了老师,但是还没有弄明白,课程设计就是让我们集中训练思维,发现错误,培养良好的变成习惯,我会继续思考。找出错误在哪。完善系统。

    16、四、结 论在本次的课程设计中,我遇到了好多问题,期间我苦苦思考了好长时间,去解决我遇到的每个问题,感觉问题就是一串一串的,解决一个下一个就会在那等着,就像登山一样,越来越累但风景却越来越好。承认这学期我的学习没有用心,尤其是数据结构,根本是听得一知半解,在做课程设计之前,我对双向链表根本就是不知道更别提做设计了。我之前没敢想,因为我不会,因为我不知道我的人生会走向哪里,没有前进的动力和方向。真正做起来,才发现自己到大学了,学的竟然是那么少,连结构体的操作都那么陌生,面对比这样一个问题,开始的前四天我基本上都在看以前的C语言,数据结构书籍。我不想再样混沌下去,我需要的是走出自己,好好把握自己,我

    17、没有放弃,没有被困难吓到,以前就是以前了,现在我要好好的,认真的对待我的人生。我从简单的单向链表开始建立,再慢慢构建起双向链表,之后对其赋值,建立起一个能够插入,删除,操作的测试程序,发现只要认真去学,没有什么不可克服的困难,就这样一个一个问题的解决,慢慢我发现自己的程序慢慢壮大,一天一个进步,不断完善程序,根本没想到我也能写出一个将近700行的程序,心中又是激动又是感觉自己必须要更加努力,努力让自己更好。出错的时候我也很烦,因为知识少不知道错在哪里,但慢慢的我不断看到自己程序从不能运行到出现完美结果,记得好几次都是想问题想得头痛,但我还是坚持了下来, 五、致谢首先得感谢我们学校给我们安排课程

    18、设计的任务,当然也得感谢老师的知道,通过这次得设计,让我学到很多,让我明白,事情只有自己经历过才来的彻底,来的深刻,程序实践性很强,我还是动手少,思考少,通过本次课程设计,我学到了很多很多,也感悟了很多,我会好好改变自己当前的状态,以饱满的热情去迎接明天的挑战,努力为未来通过这次数据结构课程设计的实验,在解决问题的过程中,充分体会到了数据结构这门课程对于软件设计的重要性,也体会到了数据结构+算法=程序这句话的真正含义,一个实际问题的解决第一步就是要依赖于良好的抽象思维的,将实际问题转化为相应的数据结构,只有这一步做好了,才能采取相应的算法和优化方法解决问题和解决好问题。六、参考文献1 严蔚敏、

    19、吴伟民主编 数据结构(C语言版) 清华大学出版社 20022 殷人昆等著 数据结构(C+版) 清华大学出版社 20013 金远平著 数据结构(C+描述) 清华大学出版社 2005 4 许卓群等著 数据结构与算法 高等教育出版社 20045 Frank M.Carrano 等著 数据结构与+高级教程清华大学出版社 20046 严蔚敏、吴伟民 数据结构习题集(C语言版)清华大学出版社 课程设计任务书及成绩评定设计名称:_ _完 成 者: 1、设计的目的与要求: 1、设计目的巩固和加深对数据结构的理解,通过上机实验、调试程序,加深对课本知识的理解,最终使学生能够熟练应用数据结构的知识写程序。(1)通

    20、过本课程的学习,能熟练掌握几种基本数据结构的基本操作。(2)能针对给定题目,选择相应的数据结构,分析并设计算法,进而给出问题的正确求解过程并编写代码实现。2、设计题目要求:设计内容:本系统应完成一下几方面的功能:输入信息enter();显示信息display( );查找以姓名作为关键字 search( );删除信息delete( );存盘save ( );装入load( ) ;设计要求:1)每条信息至包含 :姓名(NAME )街道(STREET)城市(CITY)邮编(EIP)国家(STATE)几项2)作为一个完整的系统,应具有友好的界面和较强的容错能力3)上机能正常运行,并写出课程设计报告2、 设计进度及完成情况12.11-12.12选取参考书,查阅有关文献资料,完成资料搜集和系统分析工作。12.1312.15创建相关数据结构,录入源程序。12.1612.19调试程序并记录调试中的问题,初步完成课程设计报告。12.2012.25完成全部的任务。3、成绩评定:设计成绩: (教师填写)指导老师: (签字)二00 年 月 日


    注意事项

    本文(通讯录管理系统的制作.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922