C语言通讯录管理系统程序设计_第1页
C语言通讯录管理系统程序设计_第2页
C语言通讯录管理系统程序设计_第3页
C语言通讯录管理系统程序设计_第4页
C语言通讯录管理系统程序设计_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

年4月19日C语言通讯录管理系统程序设计文档仅供参考广西科技大学鹿山学院课程设计报告课程名称:c语言程序设计课题名称:通讯录管理系统设计指导教师:倪志平班级:物联网152姓名:吴肖军学号:3076成绩评定:指导教师签字:二〇一六年七月六日目录1需求分析 32总体分析与设计 32.1总体设计方案 32.2功能描述 42.2.1新增联系人模块 42.2.2保存联系人模块 42.2.3查询联系人模块 42.2.4显示联系人模块 42.2.5修改联系人模块 42.2.6删除联系人模块 42.2.7读取联系人模块 52.2.8退出系统模块 52.3系统流程图 53系统实现 64功能测试 114.1.1新增联系人 114.1.2查询联系人 134.1.3显示联系人 144.1.4修改联系人 154.1.5删除联系人 164.1.6退出系统 17总结 18参考文献 18课程设计目的1需求分析通讯录档案信息采用文件存储,因而要提供文件的输入输出操作;根据联系人信息的变动情况,添加删除记录,因而要提供文件的添加删除操作;根据编号进项查询,因此要提供文件的查找操作;高级编辑功能,就是提供文件的修改操作;显示功能就是显示出通讯录中所有联系人的功能;另外还要提供键盘式选择菜单以实现功能选择。2总体分析与设计总体设计总体设计目标:使用者能够利用本系统对通讯录的各项管理进行操作,根据用户要求自动进行新增联系人,保存联系人,删除联系人,查找所要的联系人,修改所要的联系人,最后将她们清楚地显示在屏幕中。结合上述分析,该系统应包括一下模块:新增联系人,保存联系人,查询联系人,修改联系人,显示联系人,删除联系人,退出系统。结构图如下。2.1总体设计方案通讯录管理系统通讯录管理系统图2-1系统功能模块图退出系统退出系统修改联系人显示联系人查询联系人删除联系人新增联系人保存联系人修改联系人显示联系人查询联系人删除联系人新增联系人保存联系人2.2功能描述根据以上需求分析,通讯录管理系统划分为七个功能模块,分别是新增联系人模块,保存联系人模块,查找联系人模块,修改联系人模块,显示联系人模块,删除联系人模块,读取联系人模块。其中各功能模块的具体说明如下。2.2.1新增联系人模块增加联系人模块:该模块的功能是增加新的联系人信息。信息包括联系人姓名,联系人所在单位,联系人电话号码等。然后从键盘输入并逐条写入到的文件中。增加成功后提示增加联系人信息成功!2.2.2保存联系人模块保存联系人模块:该模块会保存所新增联系人,修改联系人等信息到指定文件夹中。2.2.3查找联系人模块查找人事信息模块:该模块的功能是,查找文件中的联系人信息记录,从键盘输入联系人编号,输入时会判断该联系人编号是否存在,若不存在,则重新输入。若存在,则将该人事信息输出到窗口。2.2.4修改联系人模块修改人事信息模块:该模块的功能是由用户输入所需修改的联系人信息编号。然后对联系人信息(姓名和电话号码等)进行修改,最后保存修改后的结果。2.2.5显示联系人模块该模块将文件里的内容输出到电脑屏幕。用户能够经过该功能看到文件当中的所有联系人的信息。2.2.6删除联系人模块删除人事信息模块:该模块首先由用户输入要删除的联系人的编号,根据编号删除所需的联系人信息,删除后提示联系人删除成功。删除的方法是将文件中的数据读入内存,赋给相应的结构体,并将结构体数组中将删除的后面的数据赋给前一个结构体,然后将相应数据写入文件并保存。2.2.7读取联系人模块该模块将保存到文件中的联系人读取到内存中以供程序操作。2.2.8退出系统模块若在系统最初运行时,选择退出系统,则系统退出运行。开始2.3系统流程图开始显示显示主菜单选择选择6删除联系人7退出系统1新增联系人6删除联系人7退出系统1新增联系人3查询联系人2保存联系人4修改联系人5显示联系人退出退出系统 结束 结束显示操作显示操作结果3系统实现程序源码#include<stdio.h>#include<string.h>#include<stdlib.h>#include<conio.h>structBOOKS{intid;chartell[12],phone[12],name[31],add[20],email[30],qq[20];}books[100],*p;voidpage_title(char*menu_item){ printf("\t\t********************************************\n",menu_item); printf("\t\t*欢迎使用通讯录管理系统*\n",menu_item);printf("\t\t**\n",menu_item); printf("\t\t*系统设计人:吴肖军*\n",menu_item); printf("\t\t**\n",menu_item);printf("\t\t********************************************\n\n-%s-\n\n",menu_item);}voidreturn_confirm(void){printf("\n按任意键返回……\n"); getchar();}voidbooks_add(void)//输入模块 {intn;system("cls");//清屏page_title("新增联系人");for(n=0;n<100;n++)if(books[n].id==0)break;printf("序号:");scanf("%d",&books[n].id);printf("姓名:");scanf("%s",&books[n].name);printf("单位:");scanf("%s",&books[n].add);printf("固定电话:");scanf("%s",&books[n].tell);printf("移动电话:");scanf("%s",&books[n].phone);printf("邮件:");scanf("%s",&books[n].email);printf("QQ:");scanf("%s",&books[n].qq);return_confirm();}intbooks_search(void)//查找模块{intn,i=-1;charnam[30];system("cls");printf("请输入联系人:");scanf("%s",&nam);for(n=0;n<100;n++){if((strcmp(books[n].name,nam)==0)){printf("序号:%d\t",books[n].id);printf("联系人:%s\t",books[n].name); printf("单位:%s\t",books[n].add);printf("固定电话:%s\t",books[n].tell);printf("移动电话:%s\t",books[n].phone);printf("邮件:%s\t",books[n].email);printf("QQ:%s\n",books[n].qq);i=n;}}if(i==-1)printf("\n没有找到相关记录.\n");getchar();returni;}intbooks_change(void)//修改模块{intn,i;system("cls");page_title("修改联系人信息");printf("请输入要修改的联系人编号:");scanf("%d",&i);for(n=0;n<100;n++){if(books[n].id==i) { printf("修改联系人:");scanf("%s",books[n].name);printf("修改单位:"); scanf("%s",books[n].add);printf("修改固定电话:");scanf("%s",books[n].tell);printf("修改移动电话:"); scanf("%s",books[n].phone); printf("修改邮件:"); scanf("%s",books[n].email); printf("修改QQ:"); scanf("%s",books[n].qq); printf("修改联系人信息成功.\n"); returnn;}}printf("\n没有找到相关记录.\n");getchar();return-1;}intbooks_show(void)//显示模块{intn,i=1;system("cls");for(n=0;n<100;n++){if(strlen(books[n].name)!=0) { printf("序号:%d\t",books[n].id);printf("联系人:%s\t",books[n].name); printf("单位:%s\t",books[n].add);printf("固定电话:%s\t",books[n].tell);printf("移动电话:%s\t",books[n].phone);printf("邮件:%s\t",books[n].email);printf("QQ:%s\n",books[n].qq); i=0; } }if(i==1)printf("\n没有找到相关记录.\n"); getchar();return-1;}intbooks_del(void)//删除模块{intn,num,i;system("cls");page_title("删除联系人");printf("请输入所要删除的联系人的编号:\n");scanf("%d",&num);for(n=0;n<100;n++){ if(books[n].id==num) { for(i=n;i<100;i++) {books[i].id=books[i+1].id; strcpy(books[i].name,books[i+1].name); strcpy(books[i].email,books[i+1].email); } printf("该联系人已删除.\n");returnn; }}printf("没有找到相关记录\n"); getchar();return-1;}voidbooks_save()//保存模块{ system("cls"); FILE*fp;inti;p=books;if((fp=fopen("d:\\tt.txt","wb+"))==NULL) { printf("Cannotopenfile,strikeanykeyexit!");getchar(); exit(1);}fwrite(p,sizeof(structBOOKS),2,fp);p=books;for(i=0;i<2;i++,p++)printf("%5d\t%s\t%s\t%s\t%s\t%s\t%s\t\n",p->id,p->name,p->add,p->tell,p->phone,p->email,p->qq);fclose(fp);getchar();}voidbooks_read(){ system("cls"); FILE*fp;inti;p=books;if((fp=fopen("d:\\tt.txt","rb+"))==NULL) { printf("Cannotopenfile,strikeanykeyexit!");getchar(); exit(1);}fread(p,sizeof(structBOOKS),2,fp);p=books;for(i=0;i<2;i++,p++)printf("%5d\t%s\t%s\t%s\t%s\t%s\t%s\t\n",p->id,p->name,p->add,p->tell,p->phone,p->email,p->qq);fclose(fp);getchar();}voidmain(void){menu:page_title("操作选单");printf("请用数字键选择操作\n\n");printf("\t\t\t1新增联系人\t\t\t2保存联系人\n");printf("\t\t\t3查询联系人\t\t\t4修改联系人\n");printf("\t\t\t5显示联系人\t\t\t6删除联系人\n");printf("\t\t\t7输出数据\t\t\t8退出系统\n");printf("请按数字键:\n");switch(getchar()){case'1':books_add();break;case'2':books_save();break;case'3':books_search();break;case'4':books_change();break;case'5':books_show();break;case'6':books_del();break;case'7':books_read();break;case'8':/*退出系统*/{ system("cls");printf("\n");printf("\t*===============================================================*\n");printf("\t**\n");printf("\t*谢谢使用*\n");printf("\t**\n");printf("\t**\n");printf("\t*如有疑问,请联系管理员*\n");printf("\t*===============================================================*\n");printf("\t**\n");printf("\t*广西科技大学鹿山学院*\n");printf("\t*物联网152吴肖军*\n");printf("\t*===============================================================*\n");printf("\n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论