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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言课程设计 通讯录.docx

1、C语言课程设计 通讯录C语言课程设计论文题 目: 学生通讯录管理系统 班级: 0524092班组号: 第十小组姓名(学号): 朱会彬(052409257) 吴江波(052409251)吴建鹏(052409250) 高阳阳(052409240)姚浩(052409253)谢敬奇(052409252)指导教师: 张玉花 通讯录管理系统【设计目的】设计“通讯录管理系统”使其具有数据插入、修改、删除、显示和查询等功能。数据包括:姓名,电话,地址,邮编及e-mail。可对记录中的内容进行修改。可增加或删除记录。可显示所有保存的记录。可以按姓名或电话进行查询。【设计思路】根据要求,编号数据以文本文件存放在文

2、件中,故需要提供文件的输入、输出等操作;还需要保存记录以进行修改,删除,查找等操作;另外还应提供键盘式选择菜单实现功能选择。 【总体设计】图1 系统功能模块图【详细设计】主函数主函数设计要求简洁,只提供部分提示语和函数的调用【程序】 图2. 主函数流程图附录:源代码#include stdio.h#include stdlib.h#include string.h#include conio.h#include stdlib.h#define null 0struct recordchar name20;char phone20;char adress40;char postcode10;ch

3、ar e_mail30;student500;struct LinkListstruct record US;struct LinkList *next;a;struct LinkList *head=null;int num=0;FILE *fp;int menu_select();int adduser();int list();int search();int display();int add();int listbyname();int dele();int save();int exit();void main()system(cls);for(;) switch(menu_sel

4、ect() case 0:adduser();break; case 1:list();break; case 2:search();break; case 3:display();break; case 4:add();break; case 5:listbyname();break; case 6:dele();break; case 7:save();break; case 8:exit(0); menu_select()char s80;int a;printf(*_* press any key enter menu! *_* n);getch();system(cls);print

5、f(tt*MENU*nn);printf(tt 0. 输入记录n);printf(tt 1. 显示记录 n);printf(tt 2. 按姓名查找n);printf(tt 3. 按电话号码查找n);printf(tt 4. 插入记录 n);printf(tt 5. 按姓名排序n);printf(tt 6. 删除记录n);printf(tt 7. 记录保存文件n);printf(tt 8. Quitn);printf(tt*n); do printf(n Enter you choice(011):); scanf(%s,s); a=atoi(s); while (a11); return a;

6、adduser()printf(ntt* 请输入用户信息 *n);printf(ntt输入姓名:);scanf(%s,&studentnum.name);printf(ntt输入电话号码:);scanf(%s,&studentnum.phone);printf(ntt输入地址:);scanf(%s,&studentnum.adress);printf(ntt输入邮编:);scanf(%s,&studentnum.postcode);printf(ntt输入e-mail:);scanf(%s,&studentnum.e_mail);num+;printf(ntt是否继续添加?(Y/N):);if

7、 (getch()=y)adduser();return(0);list()int i;system(cls);if(num!=0) printf(ntt* 以下为通讯录所有信息*); for (i=0;inum;i+) printf(ntt姓名: %s,studenti.name); printf(ntt电话: %s,studenti.phone); printf(ntt地址: %s,studenti.adress); printf(ntt邮编: %s,studenti.postcode); printf(ntte-mail:%s,studenti.e_mail); printf(tt);

8、if (i+1num) printf(ntt_); system(pause); printf(ntt*);else printf(ntt通讯录中无任何纪录); printf(ntt按任意键返回主菜单:); getch(); return(0);search()int mark=0;int i;int a=0;printf(ntt* 按姓名查找 *);char name20;printf(ntt请输入姓名:);scanf(%s,name);for(i=a;inum;i+) if (strcmp(studenti.name,name)=0) printf(ntt* 以下是您查找的用户信息 *);

9、 printf(ntt姓名: %s,studenti.name); printf(ntt电话: %s,studenti.phone); printf(ntt地址: %s,studenti.adress); printf(ntte-mail:%s,studenti.e_mail); printf(ntt*); mark+; if (i+1)num) printf(ntt是否继续查找相同名字的用户信息:(y/n); if (getch()=y) a=i; continue; else return(0); else printf(ntt按任意键返回主菜单); getch(); return(0);

10、 if(mark!=0) printf(ntt没有相同姓名的用户纪录); printf(ntt按任意键返回主菜单); getch(); return(0); else printf(ntt没有相同姓名的用户纪录); printf(ntt按任意键返回主菜单); getch(); return(0); display()int mark=0;int i;int a=0;printf(ntt* 按电话查找 *);char phone10;printf(ntt请输入电话号码:);scanf(%s,phone);for(i=0;inum;i+)if (strcmp(studenti.phone,phon

11、e)=0) printf(ntt* 以下是您查找的用户信息 *); printf(ntt姓名: %s,studenti.name); printf(ntt电话: %s,studenti.phone); printf(ntt地址: %s,studenti.adress); printf(ntte-mail:%s,studenti.e_mail); printf(ntt*); printf(ntt按任意键返回主菜单:); mark+; getch(); return(0);if (mark=0)printf(ntt没有改用户的信息);printf(ntt按任意键返回主菜单);getch();ret

12、urn(0);return(0);add()int i;if (fp=fopen(student.bin,wb)=NULL) printf(ntt文件打开失败);for (i=0;inum;i+) if (fwrite(&studenti,sizeof(struct record),1,fp)!=1) printf(ntt写入文件错误!n); printf(ntt* 请输入用户信息 *n); printf(ntt输入姓名:); scanf(%s,&studentnum.name); printf(ntt输入电话号码:); scanf(%s,&studentnum.phone); printf(

13、ntt输入地址:); scanf(%s,&studentnum.adress); printf(ntt输入邮编:); scanf(%s,&studentnum.postcode); printf(ntt输入e-mail:); scanf(%s,&studentnum.e_mail); num+; printf(ntt是否继续添加?(Y/N):); if (getch()=y) adduser(); return(0); fclose(fp); printf(ntt通讯录文件已保存); printf(ntt按任意键退出程序ntt); exit(0);return(0);void deleteby

14、phone()int i,j;int deletemark=0;char phone20;printf(ntt请输入要删除用户电话号码:);scanf(%s,phone);if(num=0) printf(ntt对不起,文件中无任何纪录); printf(ntt按任意键返回主菜单); getch();return;for (i=0;inum;i+) if (strcmp(studenti.phone,phone)=NULL) printf(ntt以下是您要删除的用户纪录:); printf(ntt姓名: %s,studenti.name); printf(ntt电话: %s,studenti.

15、phone); printf(ntt地址: %s,studenti.adress); printf(ntte-mail:%s,studenti.e_mail); printf(ntt是否删除?(y/n); if (getch()=y) for (j=i;jnum-1;j+) studentj=studentj+1; num-; deletemark+; printf(ntt删除成功); printf(ntt是否继续删除?(y/n); if (getch()=y) deletebyphone(); return; else return; continue;if (deletemark=0) p

16、rintf(ntt没有该用户的纪录); printf(ntt是否继续删除?(y/n);if (getch()=y) deletebyphone();return;void deletebyname()int a=0;int findmark=0;int j;int deletemark=0;int i;char name20;printf(ntt请输入要删除用户姓名:);scanf(%s,name);for (i=a;inum;i+)if (strcmp(studenti.name,name)=NULL) printf(ntt以下是您要删除的用户纪录:); findmark+; printf(

17、ntt_); printf(ntt姓名: %s,studenti.name); printf(ntt电话: %s,studenti.phone); printf(ntt地址: %s,studenti.adress); printf(ntte-mail:%s,studenti.e_mail); printf(ntt_); printf(ntt是否删除?(y/n); if (getch()=y) for (j=i;jnum-1;j+) studentj=studentj+1; num-; deletemark+; printf(ntt删除成功); if(i+1)num) printf(ntt是否继

18、续删除相同姓名的用户信息?(y/n); if (getch()=y) a=i; continue; printf(ntt是否继续删除?(y/n); if (getch()=y) deletebyname(); return; if(i+1)num) printf(ntt是否继续删除相同姓名的用户信息?(y/n); if (getch()=y) a=i; continue; elsecontinue;if (deletemark=0)&(findmark=0)printf(ntt没有该用户的纪录);printf(ntt是否继续删除?(y/n);if (getch()=y) deletebypho

19、ne();return;return;else if (findmark!=0)printf(ntt没有重名信息);printf(ntt没有该用户的纪录);printf(ntt是否继续删除?(y/n);if (getch()=y) deletebyphone();return;return;dele()char choic;printf(ntt1-按电话号码删除 2-按姓名删除);printf(ntt请选择:);choic=getch();switch (choic)case 1:deletebyphone();break;case 2:deletebyname();break;return(

20、0);listbyname()int i,j;struct record tmp;for (i=1;inum;i+)if(strcmp(studenti.name,studenti-1.name)0) tmp=studenti; j=i-1; do studentj+1=studentj; j-; while (strcmp(tmp.name,studentj.name)=0); studentj+1=tmp;printf(ntt排序成功,是否显示?(y/n);if (getch()=y) list();return(0);save()int j;FILE*fp;fp=fopen(studen

21、t.txt,w); if (fp=NULL) printf(cant open the file.); if(num!=0) for(j=0;jnum;j+) fwrite(student,sizeof(student),1,fp); printf(保存成功!);fclose(fp);return(0);【设计体会】通过为期一周的课程设计,我们对C语言这门课程有了更深一步的了解。它是计算机程序设计的重要理论技术基础,在我们信息与计算科学专业的学习中占据着十分重要的地位。同时也使我们知道,要学好这门课程,仅学习书本上的知识是不够的,还要有较强的实践能力。因为我们学习知识就是为了实践。而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西。运用C语言中的算法思想作数据结构,结合C语言基本知识,编写一个通讯录管理系统。通过完成本课题,进一步熟悉C语言的基本知识,并掌握数据结构的一些基本算法思想,掌握C语言的文件操作(包括从磁盘读入和向磁盘写入内容),进一步熟悉指针的用法,数组的建立运用和函数的调用

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

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