欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    数据结构课程设计说明书通讯录管理程序的设计与实现.doc

    • 资源ID:2396770       资源大小:61.50KB        全文页数:13页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    数据结构课程设计说明书通讯录管理程序的设计与实现.doc

    课程设计任务书学生姓名: XXX 专业班级: 计算机0502 指导教师: XXX 工作单位:计算机科学与技术学院 题 目: 通讯录管理程序的设计与实现初始条件:理论:学习了数据结构课程,掌握了基本的数据结构和常用的算法;实践:计算机技术系实验室提供计算机及软件开发环境。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、系统应具备的功能:(1)输入姓名、电话等信息;(2)对通讯录进行修改、添加、删除;(3)通过各种条件进行查询。2、数据结构设计;3、主要算法设计;4、编程及上机实现;5、撰写课程设计报告,包括:(1)设计题目;(2)摘要和关键字;(3)正文,包括引言、需求分析、数据结构设计、算法设计、程序实现及测试、设计体会等;(4)结束语;(5)参考文献。时间安排: 2007年7月2日7日 (第18周)7月2日 查阅资料7月3日 系统设计,数据结构设计,算法设计7月4日-5日 编程并上机调试7月6日 撰写报告7月7日 验收程序,提交设计报告书。指导教师签名: 2007年7月2日系主任(或责任教师)签名: 2007年7月2日通讯录管理程序的设计与实现摘要:该程序主要部分有:1)通讯录资料的输入,包括姓名、QQ号、电话号码、电子邮箱、住址。2)所有人资料的查找,显示出所有人的相关信息。3)搜索,可按姓名和QQ号进行。4)修改、删除相关资料。关键字:通讯录管理,信息的保存, 查找, 修改, 删除 0.引言通讯录是我们日常生活中经常用到的抽象通讯管理工具,其自身齐全的功能给人们带来通讯的方便。在本次的课程设计中我选择了用C语言编写程序,实现了通讯录的添加、修改、删除以及查询功能。1.需求分析数据的添加存储;数据的查找:按姓名查找通讯人的信息,按QQ号码查找信息;另外就是信息的修改,删除等等。2.数据结构设计struct Infomation char name10; char QQ12; char phone15; char Email20; char address30; recordInitAmount; int cnt=0; char bufferN*14*23.算法设计 3.1添加信息 这个函数能添加信息,生成一个用于存储信息。包括姓名,电话号码,QQ 地址有利于以后的查找与修改。 /*-输入通讯资料-*/ void InputInfo() int row=N; char key; struct Infomation temp; gotoxy(1,row+1); printf("输入姓名: "); gets(temp.name); printf("输入 QQ 号: "); gets(temp.QQ); printf("输入电话号码: "); gets(temp.phone); printf("输入 E-mail: "); gets(temp.Email); printf("输入地址: "); gets(temp.address); printf("n记录下这个人的资料吗 ? (Y/N)"); while(1) if(key=getch()='Y'|key='y') recordcnt+=temp; printf("n记录成功!"); getch(); break; if(key='N'|key='n') printf("n你已放弃这份资料!"); getch(); break; kbhit(); clrscr(); puttext(1,1,14,N,buffer); 3.2显示信息此函数能够显示出所有通讯人的相关信息./*-显示所有人的资料-*/ void ShowAll() int i; clrscr(); printf("所有人的资料:n"); printf("n姓名 QQ 电话 E-mail 地址n"); for(i=1;i<cnt;i+) printf("%-10s",recordi.name); printf("%-11s",recordi.QQ); printf("%-12s",recordi.phone); printf("%-20s",recordi.Email); printf("%sn",recordi.address); getch(); clrscr(); puttext(1,1,14,N,buffer); 3.3搜索信息此函数能够通过输入姓名或者是QQ号码查找出通讯人的信息/*-搜索某个人的资料-*/ void Search() clrscr(); printf("1.根据姓名搜索n2.根据 QQ 号搜索n(按 Esc 键可以退出这个功能区)"); while(1) int i,status=0; char *temp=(char *)malloc(sizeof(char); switch(getch() case '1': printf("n输入要搜索的姓名: "); scanf("%s",temp); printf("n"); printf("n姓名 QQ 电话 E-mail 地址n"); for(i=0;i<cnt;i+) if(!strcmp(temp,recordi.name) printf("%-10s",recordi.name); printf("%-12s",recordi.QQ); printf("%-15s",recordi.phone); printf("%-20s",recordi.Email); printf("%sn",recordi.address); status=1; getch(); break; case '2': printf("n输入要搜索的 QQ 号: "); scanf("%s",temp); printf("n"); printf("n姓名 QQ 电话 E-mail 地址n"); for(i=0;i<cnt;i+) if(!strcmp(temp,recordi.QQ) printf("%-10s",recordi.name); printf("%-12s",recordi.QQ); printf("%-15s",recordi.phone); printf("%-20s",recordi.Email); printf("%sn",recordi.address); status=1; break; getch(); break; case Esc: status=1; if(status) break; else clrscr(); printf("1.根据姓名搜索n2.根据 QQ 号搜索n"); kbhit(); clrscr(); puttext(1,1,14,N,buffer); 3.4修改信息 可以根据姓名查找后修改某个人的信息 /*-修改某个人的资料-*/ void Modify() int i,status=0,position=-1; char *temp=(char *)malloc(sizeof(char),key; gotoxy(1,N+2); printf("输入姓名: "); scanf("%s",temp); for(i=0;i<cnt;i+) if(!strcmp(temp,recordi.name) status+; if(status=1) position=i; if(status>1) printf("n不止一个人叫这个名字,请输入 QQ 号确认身份n"); printf("n否则将把找到的第一个人作为你要修改其资料的人"); printf("n输入 QQ 号: "); scanf("%s",temp); for(i=0;i<cnt;i+) if(!strcmp(temp,recordi.QQ) status=1; position=i; if(!status) printf("n没有找到这个人的资料!"); else char key; clrscr(); printf("你想要修改 %s 的哪部分资料:n",recordposition.name); printf(" 1. QQ 2. 电话 3. E-mail 4. 地址nn"); printf(" (按 Esc 键才能退出这个功能区)nn"); while(key=getch()!=Esc) switch(key) case '1': printf("输入新的 QQ 号: "); scanf("%s",recordposition.QQ); break; case '2': printf("输入新的电话号码: "); scanf("%s",recordposition.phone); break; case '3': printf("输入新的 E-mail: "); scanf("%s",recordposition.Email); break; case '4': printf("输入新的地址: "); scanf("%s",recordposition.address); printf("n修改成功!"); getch(); clrscr(); puttext(1,1,14,N,buffer); 3.5删除信息 输入姓名后会提示删除该信息,如果通讯录中不止一个人叫这个名字,系统会提示输入QQ号码来找到要删除的通讯人。 /*-删除某个人的资料-*/ void Delete() int i=N,status=0,position=-1; char *temp=(char *)malloc(sizeof(char),key; gotoxy(1,i+1); printf("n输入姓名: "); scanf("%s",temp); for(i=0;i<cnt;i+) if(!strcmp(temp,recordi.name) status+; if(status=1) position=i; if(status>1) printf("n不止一个人叫这个名字,请输入 QQ 号确认身份n"); printf("n否则将把找到的第一个人作为你要删除其资料的人"); printf("n输入 QQ 号: "); scanf("%s",temp); for(i=0;i<cnt;i+) if(!strcmp(temp,recordi.QQ) status=1; position=i; if(!status) printf("n没有找到这个人的资料!"); else recordposition=record(cnt-)-1; printf("n删除成功!"); getch(); clrscr(); puttext(1,1,14,N,buffer); 3.6保存信息到文件夹将保存的信息存到电脑里的某个文件夹里 /*-将通讯录里的资料以文件形式保存起来-*/ void Save() int i; FILE *fp=fopen("D:record.bat","wb"); if(cnt!=0) FILE *fp_seen=fopen("D:record.txt","w"); fprintf(fp_seen,"姓名 QQ 电话 E-mail 地址n"); for(i=0;i<cnt;i+) fprintf(fp_seen,"%-10s",recordi.name); fprintf(fp_seen,"%-12s",recordi.QQ); fprintf(fp_seen,"%-15s",recordi.phone); fprintf(fp_seen,"%-20s",recordi.Email); fprintf(fp_seen,"%sn",recordi.address); fclose(fp_seen); for(i=0;i<cnt;i+) fwrite(&recordi,sizeof(record),1,fp); _chmod("D:record.bat",1,FA_HIDDEN); fclose(fp); 4.程序运行结果主界面:输入通讯资料显示所有资料搜索某个人资料:修改某个人资料:删除某个人资料:我这个程序主要用了链表的删除,链表的查找(姓名,QQ号码)主要加深了对链表的理解,了解到链表的方便性。5.设计体会 为了便于查错、阅读,在设计该程序的时候我采用了结构化程序方法编辑,添加了尽可能多的注释,这为我来的调试过程带来了很多方便。编程看起来似乎是一件很枯燥、乏味的事情,但是经历了这次大程序的编辑之后,发现其实里面还是充满乐趣的,一旦真的专研下去什么事情都可以放下,来认真研究。编程中有苦有乐,其中的苦乐只有亲身经历才能体会到。要想做出好的程序,必须做好忍受其间痛苦的准备。在这个编程过程中曾经我们想放弃过,因为实在太复杂,感觉太费时,但是最终我们还是说服了自己坚持了下来,看到自己最后的作业,虽然不是很优秀,但是还是很自豪。总之,编程尤其是调试是一项细致深入的工作,需要下工夫、动脑子、善于积累经验,这往往能反映出一个人的水平、经验和科学态度.6.结束语 本文是通讯录管理系统,主要功能有:通讯人资料的输入,显示,搜索,修改以及删除,保存。整个程序用C语言实现。参考文献1 严蔚敏, 吴伟民. 数据结构(C语言版) 清华大学出版社2 谭浩强. C语言设计(第二版) 清华大学出版社

    注意事项

    本文(数据结构课程设计说明书通讯录管理程序的设计与实现.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开