ImageVerifierCode 换一换
格式:DOCX , 页数:62 ,大小:360.24KB ,
资源ID:29725087      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29725087.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言通讯X录程序设计.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言通讯X录程序设计.docx

1、C语言通讯X录程序设计程序设计综合实习软实 习 报 告学 号159074210姓 名吴师庆班 级软152指导教师潘祥安徽工业大学2016年9月课程设计题目:个人通讯录管理系统一、需求分析个人通讯录管理系统的制作,为了实现数据的输入、输出、修改、删除、查询、存、取功能。程序的基本功能为:1.建立联系人信息,包括姓名、电话、地址、QQ;2.添加新的联系人信息(通讯录信息输入功能);3.可按姓名、电话、地址、QQ排序输出显示通讯录的所有信息(显示通讯录信息功能);4.按姓名、电话、地址、QQ查询某个联系人的信息(通讯录记录查询功能);5.输入联系人姓名以修改某个联系人的信息(修改通讯录信息功能);6

2、.按姓名删除某个联系人的信息(删除通讯录信息功能);7.将数据以文件的形式存储在磁盘上(保存通讯录信息功能)。二、总体设计各模块流程框图1.main()2. void input(PEOPLE pHead,int x)3. void search(PEOPLE pHead)4. int show(PEOPLE pHead)开始选显示排序依据调用address_sort ()函数调用phone_sort ()函数调用name_sort ()函数调用QQ_sort ()函数其他键4321按姓名顺序显示按电话顺序显示按地址顺序显示按QQ顺序显示输入错误输出所有联系人信息结束5. void modif

3、y(PEOPLE pHead)6. void delete_name(PEOPLE pHead,int x)7. void save(PEOPLE pHead)8. void quit()三、详细设计1.新建联系人功能主控函数void input(PEOPLE pHead,int x)实现添加新的联系人的功能。void input(PEOPLE pHead,int x) int i=0; PEOPLE p=pHead; while (p!=NULL&ipNext; +i; PEOPLE pNew=(PEOPLE)malloc(sizeof(people); if(pNew=NULL) prin

4、tf(动态分配内存失败! ); exit(-1); printf(n*nn); printf(tt 请创建并添加联系人信息nn); printf(tt请输入联系人姓名:); gets(pNew-name); printf(tt请输入联系人电话:); gets(pNew-phone); printf(tt请输入联系人地址:); gets(pNew-address); printf(tt请输入联系人QQ:); gets(pNew-QQ); printf(ntt成功添加了联系人信息!nn); printf(请按Enter键继续); printf(n*n); getchar(); PEOPLE q=p

5、-pNext; p-pNext=pNew; pNew-pNext=q; 2.查询功能主控函数void search(PEOPLE pHead)实现可按姓名、电话、地址、QQ查询某联系人的功能,会分别调用相应的查询函数。void search(PEOPLE pHead) int num; printf (n*nn); printf (ttt1.按姓名查找n); printf (ttt2.按电话查找n); printf (ttt3.按地址查找n); printf (ttt4.按QQ查找n); printf (ntt选择你需要操作的功能号码(1-4):); num=getchar(); getcha

6、r(); switch(num) case 1: name_search(pHead); break; case 2: phone_search(pHead); break; case 3: address_search(pHead); break; case 4: QQ_search(pHead); break; default: printf(ttt 输入错误!nn); printf(请按Enter键继续); printf (n*n); getchar(); break; 3.显示功能主控函数 int show(PEOPLE pHead)先调用排序函数,再按相应顺序将全部联系人的信息显示到

7、屏幕。int show(PEOPLE pHead) int num; printf (n*nn); printf (ttt1.按姓名顺序显示n); printf (ttt2.按电话顺序显示n); printf (ttt3.按地址顺序显示n); printf (ttt4.按QQ顺序显示n); printf (ntt选择你需要操作的功能号码(1-4):); num=getchar(); getchar(); switch(num) case 1: name_sort(pHead); break; case 2: phone_sort(pHead); break; case 3: address_s

8、ort(pHead); break; case 4: QQ_sort(pHead); break; default: printf(ttt 输入错误!nn); printf(请按Enter键继续); printf (n*n); getchar(); return 0; int len=number(pHead); PEOPLE p=pHead-pNext; int i; printf (n*n); printf (= 用户信息记录表 =); printf (n*nn); if (p!=NULL) for (i=0;ipNext) printf (tt联系人姓名:%sn,p-name); pri

9、ntf (tt联系人电话号码:%sn,p-phone); printf (tt联系人地址:%sn,p-address); printf (tt联系人QQ:%sn,p-QQ); printf (n); if (i!=0&(i+1)%5=0) printf (nttt输入任意键显示下一页n); printf(n*n); getchar(); printf(请按Enter键继续); printf (n*n); getchar(); else printf (tt对不起!没有任何人的记录!nn); printf(请按Enter键继续); printf (n*n); getchar(); return

10、0; 4.修改功能主控函数void modify(PEOPLE pHead)输入要修改联系人的姓名,可显示该联系人信息,并输入该联系人新的信息。void modify(PEOPLE pHead) int i; int mark=0; int len=number(pHead); char name25; PEOPLE p=pHead-pNext; printf(n*n); printf (= 用户信息修改功能 =); printf(n*nn); printf (tt输入要修改联系人的姓名:); gets(name); if(p!=NULL) for(i=1;ipNext) if(strcmp(

11、name,p-name)=0) printf (*以下是您要修改的用户信息*nn); printf (联系人姓名:%sn, p-name); printf (联系人电话号码:%sn, p-phone); printf (联系人地址:%sn, p-address); printf (联系人QQ:%sn, p-QQ); printf(n*nn); +mark; break; if(mark0) printf(tt请输入修改联系人信息nn); printf(tt请输入联系人姓名:); scanf(%s,p-name); printf(tt请输入联系人电话:); scanf(%s,p-phone);

12、printf(tt请输入联系人地址:); scanf(%s,p-address); printf(tt请输入联系人QQ:); scanf(%s,p-QQ); getchar(); printf(ntt成功修改了联系人信息!nn); printf(请按Enter键继续); printf(n*n); getchar(); else printf (ntt对不起!没有该用户的记录!nn); printf(请按Enter键继续); printf(n*n); getchar(); else printf (ntt对不起!没有任何人的记录!nn); printf(请按Enter键继续); printf(n

13、*n); getchar(); 5.删除功能主控函数void delete_name(PEOPLE pHead,int x)输入要删除联系人的姓名,可显示该联系人信息,并提示是否确认删除,确认后会删除该联系人信息。void delete_name(PEOPLE pHead,int x) int i,pos; int mark=0; int len=number(pHead); char name25; PEOPLE p=pHead-pNext; printf(n*n); printf (= 用户信息删除功能 =); printf(n*nn); printf (tt输入要删除联系人的姓名:);

14、gets(name); if(p!=NULL) for(i=1;ipNext) if(strcmp(name,p-name)=0) printf (*以下是您要删除的用户信息*nn); printf (num:%dn, mark+1); printf (联系人姓名:%sn, p-name); printf (联系人电话号码:%sn, p-phone); printf (联系人地址:%sn, p-address); printf (联系人QQ:%sn, p-QQ); printf(n*n); pos=i; +mark; if(mark0) printf (ntt是否确定删除?(y/n); if(

15、getchar()=y) getchar(); Delete(pHead,pos); /删除节点 printf(ntt删除成功!nn); printf(请按Enter键继续); printf(n*n); getchar(); else printf(ntt已取消nn); printf(请按Enter键继续); printf(n*n); getchar(); else printf (ntt对不起!没有该用户的记录!nn); printf(请按Enter键继续); printf(n*n); getchar(); else printf (ntt对不起!没有任何人的记录!nn); printf(请

16、按Enter键继续); printf(n*n); getchar(); 6.保存功能主控函数void save(PEOPLE pHead)将所有联系人的信息保存为文本文件,用户可随时打开txt文件查看所有联系人信息。void save(PEOPLE pHead) /保存函数 FILE *fp; PEOPLE p=pHead-pNext; fp=fopen(address_list.txt,w); fprintf(fp,*nn); fprintf (fp,= 用户信息记录表 =n); while(p!=NULL) fprintf(fp,n=nn); fprintf(fp,联系人姓名:%sn, p

17、-name); fprintf(fp,联系人电话号码:%sn, p-phone); fprintf(fp,联系人地址:%sn, p-address); fprintf(fp,联系人QQ:%sn, p-QQ); p=p-pNext; fprintf(fp,nn*n); fclose(fp); printf(nt恭喜你!成功储存,你能在address_list.txt找到相应纪录n); printf(n请按Enter键继续); printf(n*n); getchar();7. 退出功能主控函数void quit()退出通讯录系统。void quit() printf(ntt感谢使用个人通讯录管理

18、系统,再见!nn); exit(0);四、调试与测试1. 显示函数int show(PEOPLE pHead);原本设计为void型函数,但当用户没有输入任何联系人信息时,程序在显示“没有任何人信息后”,还会继续执行该函数,导致该信心重复输出。后改为int 型,用return 0;控制函数结束运行。2.删除函数void delete_name(PEOPLE pHead,int x);原本没有x参数。但在main函数中,定义了i来记录联系人个数,调用void input(PEOPLE pHead,int x)函数时,联系人数i会加一,但删除时并没有对i进行操作,导致i只加不减,在运行删除功能后再

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1