为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

手机通讯录管理系统

2011-07-18 18页 doc 165KB 118阅读

用户头像

is_741711

暂无简介

举报
手机通讯录管理系统毕业设计说明书(论文)打印格式 (A4纸型) C语言课程设计论文 学 院: 计算机学院 专 业: 网络工程 题 目: 手机通讯录管理系统设计 班 级: 班 姓 名: 学 号: 指导教师: 1 题目要求 1.1 要求 模拟手机通信录管理系统,实现对手机中的通讯录进行管理。功能要 (1)查看功能:选择此功能时,列出下列三类选择。 1)办公类 2)个人类 3)商务类 (2)增加功能:能录入新数据。 一个节点包括:姓名、电话号码、分类(办公类、个人类、商务类)、电子邮件。例如:杨春 13589664454 商务类 chuny@126....
手机通讯录管理系统
毕业设计说明书(论文)打印格式 (A4纸型) C语言课程设计论文 学 院: 计算机学院 专 业: 网络工程 目: 手机通讯录管理系统设计 班 级: 班 姓 名: 学 号: 指导教师: 1 题目要求 1.1 要求 模拟手机通信录管理系统,实现对手机中的通讯录进行管理。功能要 (1)查看功能:选择此功能时,列出下列三类选择。 1)办公类 2)个人类 3)商务类 (2)增加功能:能录入新数据。 一个节点包括:姓名、电话号码、分类(办公类、个人类、商务类)、电子邮件。例如:杨春 13589664454 商务类 chuny@126.com。 当录入了重复的姓名和电话号码;当通信录中超过15条信息,存储空间已满,不能在录入新数据;录入的新数据能按递增的顺序自动进行条目编号。 (3)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改。 (4)删除功能:选择某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。 2 需求分析 本程序将用到文件系统,date.txt文件内容作储存的载体。本程序运行后首先将通讯录信息以文件系统读取并保存到程序的结构体数组当中,然后提供文件浏览、添加、按姓名查找并进行删除和修改的操作;另外应提供键盘式选择菜单实现功能选择。 3​  总体设计 根据上面的分析,可以将这个系统分为如下五大模块: add通讯录信息添加模块、browse通讯录分组浏览模块、search查找并进行删除和修改(modify)的模块。而各个模块之间由mainmenu菜单模块来做连接,最后由main主函数领导。 Main(主函数)mainmenu(显示菜单) add(添加函数) Browse(分组浏览函数) Search(查找函数)---删除 ----修改 4 详细设计(源代码) #include #include #include #include #define N 100 void loan(); void work(); void printf_one(int i); void printf_back(); void printf_face(); void add(); void browse(); void business(); void groupinput(int i); void input(int i); void mainmenu(); void personal(); int save(int n); int modify_data(int i,int n); void search(); int load(); struct student { char name[20]; char phone[20]; char group[20]; char e_mail[40]; }stu[N]; int load() //**************************************************加载函数 统计数字 { FILE *fp; int i; if((fp=fopen("data.txt","rb"))==NULL) { printf("\n无法打开文件\n"); } for(i=0;fread(&stu[i],sizeof(struct student),1,fp) > 0;i++) ; fclose(fp); return (i-1); } void printf_one(int i)//****************************************显示一个纪录的函数 { printf("\n姓名: %s \n电话号码:%s \n组别:%s \ne_mail:%s \n\n",stu[i].name,stu[i].phone,stu[i].group,stu[i].e_mail); // printf("%s %s %s %s\n",stu[i].name,stu[i].phone,stu[i].group,stu[i].e_mail); } void printf_face()//******************************************显示数据结构项目结构 { puts(""); //printf("\n\t 姓名 [ ]电话号码 [ ]组别 [ ] e_mail\n"); } void groupinput(int i)//************************************************* 组别输入函数 { int n,w1; do { puts("\t\t***********group-menu************\n\n"); puts("\t\t\t\t1.办公类"); puts("\t\t\t\t2.个人类"); puts("\t\t\t\t3.商务类"); puts("\n\n\t\t**********************************\n"); printf("你选一个吧:"); scanf("%d",&n); if(n>3||n<1) {puts("\n选错啦 ,重选,气愤!"); w1=1; getchar(); } else w1=0; }while(w1==1); switch(n) { case 1:printf("请输入“办公类”仅三个汉字 否则系统错误\n");scanf("%s",&stu[i].group);break; case 2:printf("请输入“个人类”仅三个汉字 否则系统错误\n");scanf("%s",&stu[i].group);break; case 3:printf("请输入“商务类“仅三个汉字 否则系统错误\n");scanf("%s",&stu[i].group);break; } } void input(int i)//***************************************************** *输入函数 { int n=i,j; printf("请输入姓名"); scanf("%s",&stu[i].name); printf("请输入号码"); scanf("%s",&stu[i].phone); for(j=0;j4) {w1=1;getchar();} else w1=0; }while(w1==1); switch(n) { case 1:add();break; case 2:browse();break; case 3:search();break; case 4:exit(0); } } void add()// *************************************************************添加函数 { int load(); int i,n,m,k; FILE *fp; n=load(); printf("你可以添加人数(0-%d)个,请输入你想添加的人数",N-1-n); scanf("%d",&m); k=m+n; for(i=n;i0;i--) fwrite(&stu[i],sizeof(struct student),1,fp); fclose(fp); printf_back(); } void work()//*******************************************************办公类浏览函数 { int load(); int i,n,num = 0; n=load(); printf_face(); for(i=0;i记录
,本组包括%d个",n,num); printf("\n 按任意键返回主菜单"); getch(); mainmenu(); } void personal()//**************************************************个人类浏览 函数 { int load(); int i,n,num = 0; n=load(); printf_face(); for(i=0;i4) {w1=1;puts("\n选错啦 ,重选,气愤!");} else w1=0; }while(w1==1); switch(n) { case 1:work();break; case 2:personal();break; case 3:business();break; case 4:mainmenu();break; } } int save(int n)//****************************************************8***保存函数 { FILE *fp; int i; if((fp=fopen("data.txt","wb"))==NULL) { printf("\ncnnot open file\n"); return ;} for(i=0;i6||c<1) {puts("\ne 选错啦!重选n!"); getchar(); } }while(c>6||c<1); do { switch(c) { case 1:{puts("姓名");scanf("%s",&stu[i].name); for(j=0;j总结
通过这次C程序设计,我掌握了模块化设计方法,能够深入的理解结构化程序设计思想,熟练运用结构化程序设计方法,提高了运用C语言进行程序设计的能力。 尽管做的不尽完美,但是这是我的心血,是我的劳动成果,所以无论结果如何,我尽力了,我很高兴,体验到了做程序的麻烦,太麻烦了! 参考文献 [1]​ 谭浩强.《C程序设计》[M].北京:清华大学出版社,1991年第一版. 致 谢 感谢老师的授课与指导! 也特别感谢协助我完成C程序设计论文的同学们。
/
本文档为【手机通讯录管理系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
相关资料
热门搜索
你可能还喜欢

历史搜索

    清空历史搜索