实验五 简单个人电话号码查询系统.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验五 简单个人电话号码查询系统 一、问题描述 人们在日常生活中经常要查找某个人或某个单位的电话号码,本实验将实现一个简 (a)直方图的表格形式(b)直方图的图形形式 图 求直方图示例 单的个人电话号码查询系统,根据用户输人的信息(例如姓名等)进行快速查询。 二、基本要求 (1)提供查询功能:根据姓名实现快速查询; (2)提供其他维护功能,例如插人、删除、修改等。 三、实验步骤 1.需求分析   本演示程序用VC++编写,完成单链表的生成,输入一些人的信息并且能够对电话本用户信息进行插入、删除,查找,操作。   ① 输入的形式和输入值的范围:根据提示输入用户姓名,地址,电话,电子邮箱地址均为相应的字符串长度分别10,20,10,20对电话本进行插入新用户时要输入新用户的姓名,地址,电话,电子邮箱地址;删除用户是要输入该用户姓名;查找操作时需要输入要查找用户的姓名。   ② 输出的形式:在所有操作中都显示操作是否正确以及操作后电话本的内容。其中删除操作后显示删除后的电话本信息,查找操作后显示查找后电话本信息。插入操作后显示插入后电话本信息。   ③ 程序所能达到的功能:完成电话本的生成(通过插入操作)、插入、删除、查找用户信息操作。 ④ 测试数据: A. 插入操作中依次输入hu,liaoning,5673428,,wan,shanxi,6783452,生成一个电话本    B. 查找操作中输入姓名hu返回这个用户全部信息;    C. 删除操作中输入删除用户姓名,返回删除后电话本信息; 2.概要设计   1)为了实现上述程序功能,需要定义电话本的抽象数据类型:   ADT listper {    数据对象:D={ai|ai∈CharSet l,i=0,1,2,…,n,n≥0}    数据关系:R={<ai,ai+1>|ai,ai+1 ∈D}    基本操作:    per_insert (&L,,e)    初始条件:电话本L已存在    操作结果:将用户信息e插入到电话本L中    per_delet (&L,pos,&e)    初始条件:电话本L已存在    操作结果:将电话本L中pos位置的用户信息删除,用户信息值置入e中返回    Listsearch(L,e)    初始条件:电话本L依存在    操作结果:电话本L中查找是否用户e,若存在,返回用户信息;若不存在,返回-1.    Menu()    操作结果:在屏幕上显示操作菜单 } 2)本程序包含7个函数:   ①主函数main() ②显示操作菜单函数menu_select() ③显示电话本内容函数per_print() ④插入用户信息函数per_insert()   ⑤删除用户信息函数per_delet()   ⑥查找用户信息函数per_find() 3.详细设计   实现概要设计中定义的所有的数据类型,对每个操作给出伪码算法。对主程序和其他模块也都需要写出伪码算法。  1) 结点类型   typedef struct addr /*定义电话本储存结构类型*/ { char name[NAME]; /*姓名*/ char address[ADDR]; /*地址*/ char phone[PHON]; /*电话*/ char email[EMAIL]; /*邮箱*/ struct addr *next; }listper;  2) 电话本的基本操作 为了方便,在电话本中设头结点,其数据域没有意义。   Status *per_input ( ) { head=(struct addr*)malloc(LEN); /*建立单链表的头结点*/ rear=head; /*尾指针的初值为head*/ scanf("%s",name); while(strcmp(name,"0")!=0) /*当名字不为0时循环建立单链表结点输入信息*/ { p=(struct addr*)malloc(LEN); strcpy(p->name,name); scanf("%s",p->address); scanf("%s",p->phone); scanf("%s",p->email); printf("\n\t\t input name:"); scanf("%s",name); rear->next=p; /*新节点插到表尾*rear之后*

文档评论(0)

ranfand + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档