课程设计(论文)-电话簿管理系统.doc_第1页
课程设计(论文)-电话簿管理系统.doc_第2页
课程设计(论文)-电话簿管理系统.doc_第3页
课程设计(论文)-电话簿管理系统.doc_第4页
课程设计(论文)-电话簿管理系统.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

电话簿管理系统-课程设计报告第1页共17页学生成绩管理系统课程设计报告编写人:同组成员:(课程设计负责人)完成日期:2010/12/18辅导教师:批阅日期:分数:电话簿管理系统-课程设计报告第2页共17页一、功能描述此电话簿管理系统主要利用线性表实现,由如下六个功能模块实现1、输入模块。主要完成将电话记录存入线性表的工作。2、输出模块。主要完成将所有记录输出显示的功能。3、建表模块。主要完成建立线性表,开辟空间的功能。4、插入模块。主要完成插入记录的功能。5、查询功能。主要完成查询记录的功能。6、删除功能。主要完成从线性表中删除记录的功能。二、数据结构设计电话簿信息结构体structtelbook/定义一个电话簿结构体,用来存储电话簿信息/定义各结构体成员的数据类型/chartel20;/定义电话号码/charname20;/定义机主姓名/charsex10;/定义机主性别/charaddr50;/定义所在地址/;三、函数功能描述1、建表:函数原型:structtelbook*initsl(intm)/建立线性表/structtelbook*v;v=(structtelbook*)malloc(m*sizeof(structtelbook);/分配此结构体一定的空间,并初始化/returnv;参数含义:m线性表的空间大小V指向线性表表头的指针2、Input1()电话簿管理系统输入记录模块建表模块输出记录模块建表模块建表模块从文件读入从键盘输入插入模块查询模块删除模块电话簿管理系统-课程设计报告第3页共17页函数原型:voidinput1(structtelbook*v,intm,intn)/输入函数1,由键盘输入inti;if(nm)printf(n输入错误,最多只能输入%d个相关信息!,m);/线性表溢出elsefor(i=0;in;i+)/可以多次输入printf(n你即将输入第%d个信息n:,i+1);printf(n姓名,性别,电话,地址:);scanf(%s%s%s%s,,vi.sex,vi.tel,vi.addr);getchar();/输入相关信息printf(nOK!);参数含义:m线性表的空间大小v指向线性表表头的指针n线性表的长度i电话簿信息在表中的位置3、Input2()函数原型:voidinput2(structtelbook*v,intm,intn)/输入函数2,由文件导入inti;FILE*fp;/定义一个指向文件的指针if(fp=fopen(telbook.txt,r)=NULL)printf(n打开文件失败!);exit(0);for(i=0;in;i+)fscanf(fp,%s%s%s%s,,vi.sex,vi.tel,vi.addr);fprintf(fp,%s%s%s%s,&,&vi.sex,&vi.tel,&vi.addr);printf(n成功从文件中导入了%d个信息!n,n);参数含义:m线性表的空间大小v指向线性表表头的指针n线性表的长度i电话簿信息在表中的位置4、output()函数原型:电话簿管理系统-课程设计报告第4页共17页voidoutput(structtelbook*v,intm,intn)/输出函数inti;printf(n以下是全部电话簿信息:);printf(n-);printf(nt姓名t性别t电话t地址t);for(i=0;im)printf(n存储空间已满,请停止插入!);/实际长度超出了表的容量elseprintf(n你还可以添加%d个信息:,m-n+1);/输入信息printf(n姓名,性别,电话,地址:);scanf(%s%s%s%s,&,&vi.sex,&vi.tel,&vi.addr);getchar();printf(n成功添加信息n);参数含义:m线性表的空间大小v指向线性表表头的指针n线性表的长度i电话簿信息在表中的位置6、search1()函数原型:voidsearch1(structtelbook*v,intm,intn)/按电话号码查找inti;chartel120;printf(n请输入你要查找信息的电话号码:);scanf(%s,&tel1);for(i=0;in)printf(n对不起,没有你要查找的相关信息!);电话簿管理系统-课程设计报告第5页共17页elseprintf(n你所查找的信息如下:);printf(nt姓名t性别t电话t地址t);printf(nt%st%st%st%st,,vi.sex,vi.tel,vi.addr);参数含义:tel1查找时输入的电话号码m线性表的空间大小v指向线性表表头的指针n线性表的长度i电话簿信息在表中的位置7、search2()函数原型:voidsearch2(structtelbook*v,intm,intn)/按姓名查找inti;charname120;printf(n请输入你要查找姓名:);scanf(%s,name1);for(i=0;in)printf(n对不起,没有你要查找的信息!);elseprintf(n你所查找的信息如下:);printf(nt姓名t性别t电话t地址t);printf(nt%st%st%st%st,,vi.sex,vi.tel,vi.addr);参数含义:name1查找时输入的姓名m线性表的空间大小v指向线性表表头的指针n线性表的长度i电话簿信息在表中的位置8、search3()函数原型:voidsearch3(structtelbook*v,intm,intn)/按地址查找inti;charaddr150;电话簿管理系统-课程设计报告第6页共17页printf(n请输入你要查找地址:);scanf(%s,addr1);for(i=0;in)printf(n对不起,没有你要查找的信息!);elseprintf(n你所查找的信息如下:);printf(nt姓名t性别t电话t地址t);printf(nt%st%st%st%st,,vi.sex,vi.tel,vi.addr);参数含义:addr1查找时输入的地址m线性表的空间大小v指向线性表表头的指针n线性表的长度i电话簿信息在表中的位置9、delet1()函数原型;voiddelet1(structtelbook*v,intm,intn)/按电话号码删除相关信息inti;chartel120;printf(n请输入你想要删除信息的电话号码:);/输入要删除信息的电话号码scanf(%s,&tel1);for(i=0;i=n)printf(n没有找到你要删除的相关信息!);/若超出了表,则不存在此号码elsefor(i=0;in;i+)vi=vi+1;printf(n删除成功!);参数含义:tel1删除时输入的电话号码m线性表的空间大小v指向线性表表头的指针n线性表的长度i电话簿信息在表中的位置10、delet2()电话簿管理系统-课程设计报告第7页共17页函数原型:voiddelet2(structtelbook*v,intm,intn)/按姓名删除信息inti;charname120;printf(n请输入你要删除的信息的机主姓名:);/输入要删除信息的机主姓名scanf(%s,name1);for(i=0;i=n)printf(n对不起,没有找到你要删除的信息!);/若超出了表,则存在此姓名elsefor(i=0;in;i+)vi=vi+1;printf(n删除成功!);参数含义:name1删除时输入的姓名m线性表的空间大小v指向线性表表头的指针n线性表的长度i电话簿信息在表中的位置11、delet3()函数原型:voiddelet3(structtelbook*v,intm,intn)/按地址删除信息inti;charaddr120;printf(n请输入

温馨提示

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

评论

0/150

提交评论