个人通信录管理系统_第1页
个人通信录管理系统_第2页
个人通信录管理系统_第3页
个人通信录管理系统_第4页
个人通信录管理系统_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

高级语言程序设计报告(基于链表的个人通信录管理系统)成员:王 恒(组长) 郑 瑶 高 倩 高 斐 薛 超 指导教师: 李 明 明 时 间: 2 0 1 2 7 6 C语言程序报告1、设计题目 基于链表的个人通信录管理系统2、课题任务(1)、要求数据存储在数组中,对联系人编号、姓名、电话、邮件、通信地址、邮编等信息进行管理。要有教师按身份证号码的查找、排序以及添加、删除等操作。数据要存在文件中,并能从文件中读取所存储的数据。(2)、要写出设计报告,报告中要求写出总体设计框架和详细程序分析。(3)、6名学生分为一组,选出组长共同完成。在报告中各个同学要明确写出自己所做的工作, 并由组长认可评定。(4)、书写及设计方案均用A4纸打印以便统一装订成册,并且要求上交电子文本。3、课程设计目的(1)、要求学生熟练掌握C语言的基本知识和编程技能; (2)、基本掌握结构化程序设计的基本思路和方法;4、系统功能1) 添加学生信息并保存共添加了五个学生的信息依次如下:2)查找学生信息查找了其中一个学生的信息如下:3) 修改学生信息并保存修改了一个同学的信息,修改xuechao为xuetengfei如下:号码改为4) 删除学生信息删除了xuetengfei的信息如下:5) 输出学生信息输出所有同学的信息如下:6)退出退出时系统如下:5、需求分析A. 学生信息包括学生姓名、电话号码、地址;B. 录入的学生信息要求用文件形式保存,并可以对其进行浏览、查询、修改、删除等基本操作;C. 学生信息的显式要求有一定的规范格式;D. 要求能返回所有符合条件的学生的信息;E. 对学生信息的修改应逐个地进行,一个学生信息的更改不应影响其他的学生记录;F. 所设计的系统应以菜单方式工作,应为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并要求在此过程中能够尽可能的兼容用户使用过程中的异常情况6、总体设计个人通讯录管理系统数据输入数据修改删除数据添加查找浏览7、详细设计显示一系列功能选项输入m,判断m是否是05 ?根据m的值调用各功能模块函数结束开始m系统模块图主函数程序设计如下:#includestruct person char name8; char tel15;char addr50;char filename20=E:txl.txt;FILE *fp;void creat();void output();void search();void append();void modify();void delete();main( ) int m; creat(); while(1) printf(ntt*欢迎使用通讯录信息管理系统*nn); printf(ntt添加,请按1); printf(ntt查找,请按2); printf(ntt修改,请按3); printf(ntt删除,请按4); printf(ntt输出,请按5); printf(ntt退出,请按0n);printf(ntt*nn);printf(Please select(0-5):);scanf(%d,&m); if(m=0&m=5) switch(m) case 1: append(); break; case 2: search(); break; case 3: modify(); break; case 4: delete(); break; case 5: output(); break; case 0: exit(); printf(nn操作完毕,请再次选择!); else printf(nn选择错误,请再次选择!); /*输入模块creat( ): 创建通讯录的子函数。*/void creat() struct person one; long s1; /*printf(n请输入通讯录文件名:); scanf(%s,filename); */ if(fp=fopen(filename,at+)=NULL) printf(n不能建立通讯录!); exit(); fprintf(fp,%-10s%-20s%-50sn,姓名,电话号码,住址); printf(n请输入姓名、电话号码及住址(以0结束)n); scanf(%s,); while(strcmp(,0) scanf(%s%s,one.tel,one.addr); fprintf(fp,%-10s%-20s%-50sn,,one.tel,one.addr); scanf(%s,); fclose(fp); /*输出模块output( ):输出通讯录中联系人通讯信息的子函数*/void output() struct person one; if(fp=fopen(filename,r)=NULL) printf(n不能打开通讯录!); exit(); printf(nn%20sn,通 讯 录); while(!feof(fp) fscanf(fp,%s%s%sn,,one.tel,one.addr); printf(%-10s%-20s%-50s,,one.tel,one.addr); fclose(fp); /*添加模块append( ):向通讯录中添加某人通讯信息的子函数*/void append() struct person one; if(fp=fopen(filename,a)=NULL) printf(n不能打开通讯录!); exit(); printf(n请输入添加的姓名、电话号码及住址n); scanf(%s%s%s,,one.tel,one.addr); fprintf(fp,%-10s%-20s%-50sn,,one.tel,one.addr); fclose(fp);/*查找模块search( ):在通讯录中查找某人通讯信息的子函数*/void search() int k=0; char namekey8; struct person one; printf(n请输入姓名:); scanf(%s,namekey); if(fp=fopen(filename,rb)=NULL) printf(n不能打开通讯录!); exit(); while(!feof(fp) fscanf(fp,%s%s%sn,,one.tel,one.addr); if(!strcmp(namekey,) printf(nn已查到,记录为:); printf(n%-10s%-18s%-50s,,one.tel,one.addr); k=1; if(!k) printf(nn对不起,通讯簿中没有此人的记录。); fclose(fp); /*修改模块modify( ):在通讯录中修改某人通讯信息的子函数*/void modify() int m,k=0; long offset; char namekey8; struct person one; printf(n请输入姓名:); scanf(%s,namekey); if(fp=fopen(filename,r+)=NULL) printf(n不能打开通讯录!); exit(); while(!feof(fp) offset=ftell(fp); fscanf(fp,%s%s%sn,,one.tel,one.addr); if(!strcmp(namekey,) k=1; break; if(k) printf(n已查到,记录为:); printf(n%-10s%-18s%-50s,,one.tel,one.addr); printf(n请输入新姓名、电话号码及住址:); scanf(%s%s%s,,one.tel,one.addr); fseek(fp,offset,SEEK_SET); printf(%ld,ftell(fp); fprintf(fp,%-10s%-20s%-50sn,,one.tel,one.addr); else printf(n对不起,通讯录中没有此人的记录。); fclose(fp); /*删除模块delete( ):在通讯录中删除某人通讯信息的子函数*/void delete() int m,k=0,flag; long offset1,offset2; char namekey8, valid4; struct person one; printf(n请输入姓名:); scanf(%s,namekey); if(fp=fopen(filename,r+)=NULL) printf(n不能打开通讯录!); exit(); while(!feof(fp) offset1=ftell(fp); fscanf(fp,%s%s%sn,,one.tel,one.addr); if(!strcmp(namekey,) k=1; break; if(k) printf(n已查到,记录为); printf(n%-10s%-18s%-50s,,one.tel,one.addr); printf(n确实要删除,按1;不删除,按0:); scanf(%d,&m); if(m) fseek(fp,offset1,SEEK_SET); fprintf(fp,%-10s%-20s%-50sn,); else printf(n对不起,通讯录中没有此人的记录。); fclose(fp); 8、设计体会通过为期一周的课程设计,我们对C语言这门课程有了更深一步的了解。它是计算机程序设计的重要理论技术基础,在我们信息与计算科学专业的学习中占据着十分重要的地位。同时也使我们知道,要学好这门课程,仅学习书本上的知识是不够的,还要有较强的实践能力。因为我们学习知识就是为了实践。而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西。 运用C语言中的算法思想作数据结构,结合C

温馨提示

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

评论

0/150

提交评论