数据结构顺序表(电话通讯录)

数据结构顺序表(电话通讯录)
数据结构顺序表(电话通讯录)

数据结构用顺序表实现的电话通讯录(C语言)

#include<>

#include<>

#include<>

#include<>

#define FALSE 0

#define ERROR 0

#define OK 1

#define INFEASIBLE -1

#define LIST_INIT_SIZE 10

#define LIST_INCREMENT 5

#define N 5

typedef int Status;

typedef struct

{ char name[10]; 导入记录 *\n");

p rintf("\t\t * 2. 输入记录 *\n");

p rintf("\t\t * 3. 删除记录 *\n");

p rintf("\t\t * 4. 显示所有记录 *\n");

p rintf("\t\t * 0. 返回本菜单 *\n");

p rintf("\t\t *************************************\n\n\n"); }

//开始函数

void start()

{

printf("\n");

printf("\t\t\t**************************\n");

printf("\t\t\t* 欢迎使用 *\n");

printf("\t\t\t* 电话查询系统 *\n");

printf("\t\t\t**************************\n");

printf("\t\t\t* *\n");

printf("\t\t\t**************************\n");

printf("\n");

m enu();

}

int main()

{

i nt i=0,j;

s tudent e;

S qlist p,q;

InitList(L);

s tart();

w hile(scanf("%d",&i))

{

switch(i)

{

case 1: stuIntsertList(L); break;

case 2: ScanIn(L);break;

case 3: Delete(L);break;

case 4: ListTraverse(L,print);break;

case 0: menu();break;

default:wrong();

}

}

r eturn 0;

}

C++链表通讯录完美版

C++语言课程设计 学号:010910236 姓名:楚归羽 指导老师:张

目录 一、程序功能 (2) 二、题目分析 (2) 三、设计中遇到的问题及解决方法 (2) 四、感想与心得 (2) 五、程序说明 (2) 六、函数调用关系及主要算法的实现 (8) 七、数据测试 (8)

一、程序功能 程序采用单向链表类结构实现实现通讯录多个纪录的管理工作。 1、提示输入个字段,一次输入一个人的数据 2、输入待删除记录的姓名,显示其所有信息,让用户确认是否删除 3、按顺序显示所有记录,每显示10条记录暂停,按Enter继续 4、输入姓名,显示其所有信息 5、用户输入姓名,系统显示该姓名下所有信息,同时显示子菜单,用户按子菜单提示进行修改 6、从实现建立的正文文件中批量导入数据。程序运行时,用户需输入正文文件名 7、将库表中数据写入一个正文文件中。程序运行时,用户需输入正文文件名 8、首先显示当前排序关键字,然后提示是否需要改变。系统默认按姓名排序,可在按办公室电话排序之间切换 9、退出系统 二、题目分析 程序采用单向链表类结构实现,每个结点代表一个通讯记录。链表类实现通讯录多个纪录的管理工作。 三、设计中遇到的问题及解决方法 初次接触课程设计,刚刚拿到题目,实在是茫然无头绪,于是反复研究了题目,仔细复习了链表部分的知识点,加上和同学的讨论,终于是有了一个大概的思路。 刚开始着手编写的时候问题不断,幸好经过练习册上的指示,搭好了基本的框架,可是链表部分仍然是出了很大的问题,经过自己的反复实验与不断努力终于编译成功。后面的文本文件的读入与写入则是另一个难题,因为这一块练习的不是很多,只在课本上看到了一些皮毛,在编译与调试时也遇到了很大问题。最后通过看书上的例题并在与同学交流探讨中解决了这些问题。 四、感想与心得 C++作为一门必修课程,学习的过程实在是痛苦的,尤其是在编程的时候,因为总是会出现各种各样的错误。只有通过反复的调试,通过无数次的排错,才能编写出正确的程序,更多的时候,一个很小的很无聊错误就能导致长时间的迷惑。但是,这也让我学到了还能多,尤其是面对错误坚韧不拔的意志和不达目的绝不低头的毅力,这一点对科研工作想来也是相当重要的。 五、程序说明 /*通讯录管理系统||Copyright:010910236 丁志伟*/ #include #include #include #include #include #include /*------------------------分割线||节点类的定义--------------------------------------------*/ class node { char Name[15]; int OfficePhone; int HomePhone; char MobilePhone[15]; char Email[20]; node *next; public: node(char *n="a",int o=0,int h=0,char *m="b",char *e="c",node *ne=NULL)//初始化 { if(n)strcpy(Name,n); if(m)strcpy(MobilePhone,m); if(e)strcpy(Email,e); next=ne; OfficePhone=o;HomePhone=h; } void show() //显示节点数据 { cout<

链表实现通讯录

#include #include #include #include struct txl { char n[10]; char name[10]; char sex [10]; char tele[12]; char address[100]; struct txl *next; }; typedef struct txl TXL; typedef struct txl * link; enum result {exit_ok}; void menu_select()//主菜单 { printf(" 欢迎进入通讯录管理系统\n"); printf("********************************\n"); printf(" 1.联系人添加\n"); printf(" 2.联系人删除\n"); printf(" 3.联系人修改\n"); printf(" 4.联系人查找\n"); printf(" 5.联系人总览\n"); printf(" 0.退出通讯录管理系统\n"); printf("********************************\n"); } void is_malloc_ok(link *new_node) { if((*new_node) == NULL) { printf("Malloc error!"); exit(-1); } } void create_link(link *head)

{ (*head) = (link)malloc(sizeof(TXL)); is_malloc_ok(head); (*head)->next = NULL; } void create_new_node(link *new_node) { int i; *new_node = (link)malloc(sizeof(TXL)); is_malloc_ok(new_node); printf("请输入编号:\n"); scanf("%s",&(*new_node)->n); printf("请输入姓名:\n"); scanf("%s",&(*new_node)->name); printf("请输入性别:\n"); scanf("%s",&(*new_node)->sex); printf("请输入联系电话:\n"); scanf("%s",&(*new_node)->tele); printf("请输入家庭地址:\n"); scanf("%s",&(*new_node)->address); printf("联系人添加成功!\n"); } insert_new_node(link *new_node,link *head) { (*new_node)->next = (*head)->next; (*head)->next = (*new_node); } void add_new_node(link *head) { link new_node; create_new_node(&new_node); insert_new_node(&new_node,head); } void display(link *head) { int i = 1; link p = NULL; if((*head)->next == NULL) { printf("通讯录为空!\n");

通讯录总体功能要求

一.需求分析说明 (1) 1.通讯录总体功能要求: (1) 2. 各功能模块的功能描述: (1) 二.概要设计说明 (3) 1.模块调用图: (3) 2.各函数简要说明: (3) 三.详细设计说明 (4) 1.数据结构设计 (4) 2.主函数模块 (5) 3.密码验证模块 (5) 4.输入信息模块 (6) 5. 显示信息模块 (7) 6.查找模块 (7) 7.修改信息模块 (7) 8.删除信息模块 (8) 9. 信息加载 (8) 10.存盘模块 (8) 11. 密码修改模块 (8) 四.调试分析 (9) 1.问题一 (9) 2.问题二 (9) 3.问题三 (9) 五.用户使用说明 (10) 六.课程设计总结 (16) 七.测试结果 (17) 1.测试密码登陆 (17) 2.测试输入信息 (17) 3.测试显示信息 (18) 4.测试查找信息 (18) 5.测试修改信息 (19) 6.测试删除信息 (19) 7.测试加载信息 (20) 8.测试存盘 (21) 9.测试密码修改 (22) 参考书目 (23) 附录 (24)

一.需求分析说明 1.通讯录总体功能要求: 在window7系统下用vc6.0开发工具以双向链表作数据结构,编写一个通讯录管理系统。每条信息包含:姓名(name )街道(street)城市(city)邮编(eip)电话(tel)国家(state)。此系统具有友好的界面和较强的容错能力。 本系统具有以下几方面的功能: (1).密码验证passWord():通过密码登陆本系统。 (2).输入信息enter():通过键盘输入所需添加信息。 (3).显示信息display( ):显示所有通讯录信息。 (4).查找search( ):以名字为关键字查找用户信息。 (5).修改modify():修改指定的信息。 (6).删除信息del ( ):用户通过输入指定名字找到相关记录然后确定是否删除。 (7).存盘save ( ):把所有用户通过键盘录入的信息或者通过文件加载的信息以 文本文件存入硬盘。 (8).装入load( ) :从文本文件加载通讯录信息。 (9).密码修改modpw():由用户自己修改为指定的密码。 2. 各功能模块的功能描述: (1)主函数模块: 本模块的主要功能是初始化各种数据,根据用户选择的数字调用对应的

C#课程设计 通讯录管理系统

郑州科技学院 C#课程设计设计(论文) 课题:通讯录管理系统 姓名:刘闯 学号:201015056 班级:10计科2班 导师:王玉萍 课程设计日期:2013年5月31日

目录 摘要 (3) 一.整体设计 (4) 1.1设计构思 (4) 1.2系统数据流图: (5) 1.3开发及运行环境: (5) 2.1 数据库需求分析 (6) 2.2 E-R图 (7) 2.3 数据表设计 (7) 2.4 管理员信息表(db.Admin): (7) 2.5 用户信息表(https://www.360docs.net/doc/d56818489.html,er): (8) 2.6 资料信息表(db.Records): (8) 三.通讯录管理系统的实现 (9)

3.1 类的编写 (9) 3.2 系统用户功能模块设计: (9) 3.3 系统管理员功能模块设计: (11) 3.4 系统设计运行过程中所遇到的问题: (16) 3.4.1 数据库的连接问题 (16) 3.4.2 登录模块出现角色选择问题 (17) 3.4.3 用户信息添加模块问题 (20) 四. C#课程设计总结 (26) 五.主要参考书及手册 (28) 六.致谢 (29)

摘要 日益繁多的人际交往使得我们很难搞清楚与每个人之间的联系方式,特别是对于做经常出差的人来说更是难,所以通讯录能够便捷的给我们带来所需要的相关信息。而随着计算机的普及,人们的生活摆脱了传统式的记事本、电话簿,越来越多的靠计算机来帮助人们记住这些事情,极其简便。这就需要有一个使用的通讯录管理系统,用户可以方便的通过自己电脑的通讯录管理系统,来随时查阅自己所需要的信息,而不必再大费周折去翻开那繁琐的记事本。 通讯录管理系统是一个专门针对储存用户联系方式以及一些简单个人信息的实用管理系统,它方便了用户对众多客户、朋友、同事等个人信息的储存和快速查阅的功能,大大减少了查找过程的时间。

Java课程设计--个人通讯录管理系统

《JAVA程序设计》课程设计说明书

目录 1 引言 (1) 1.1课程设计选题 (1) 1.2课程设计的目的 (1) 1.3本选题的设计背景 (1) 2 需求分析 (1) 2.1 功能需求 (1) 2.2 系统的开发运行环境 (2) 3 总体设计 (2) 3.1 系统体系结构设计 (2) 3.2系统功能模块及主要类设计 (3) 3.3数据库设计 (5) 4 详细设计与实现 (7) 4.1 登录模块 (7) 4.2 注册新用户模块 (8) 4.3 查询模块 (9) 4.4 添加模块 (11) 4.5 修改模块 (13) 4.6删除模块 (16) 4.7备份模块 (18) 4.8退出模块 (19) 5 小结和展望 (20) 参考文献 (22) 附录 (22) 使用说明书 (22)

1引言 1.1课程设计选题 《个人通讯录管理系统》 1.2课程设计的目的 通过编写并调试一个Java应用软件,熟悉和掌握使用Java开发应用程序的完整过程。 使学生巩固和加深以Java 语言为基础的面向对象编程技术理论知识的理解,提高实际动手编程能力的培养,掌握以Java为核心的应用软件开发方案,达到能独立阅读、编制和调试一定规模的Java程序的水平。 1.3本选题的设计背景 一直以来就想做一个比较实用的通讯录管理系统,这样可以方便我对于身边联系人信息的管理,防止遗忘和丢失。 在这样一个信息化的社会里,人们的生活也越来越离不开电脑了,本次通过做个人通讯录管理系统,希望摈弃传统的纸质记录的弊端,发挥电脑软件的优势,方便人们对自己的联系人信息的管理。 2需求分析 2.1 功能需求 2.1.1个人通讯录功能需求 (1)登陆功能。用户可以直接输入用户名和密码,登陆进入通讯录的主功能界面。 (2)注册功能。其他用户可以输入自己的用户名和密码及确认密码,来实现注册成为该通讯录的使用者。 (3)查询功能。在该功能里,用户可以采用模糊查询和精确查询两种查询方式来对自己存储的联系人信息进行查询。 (4)添加功能。在该功能里,用户可以添加自己的常用联系人和分组信息。

通讯录 双向链表

//node.h #include #include #include #include #include struct data //数据 { char name[20]; //姓名 char tel[20]; //电话 int age; //年龄 }; class node //节点 { friend class link; //友远类 private: data person; //数据 node * next; node * pre; public: void show() //显示数据信息 { cout<<"姓名:"<

大数据结构-通讯录管理系统地设计与实现

课程设计报告 课程设计名称:数据结构课程设计系:三系 学生姓名: 班级: 学号: 成绩: 指导教师: 开课时间:2011-2012学年一学期

宿迁学院 课程设计任务书 课程名称:数据结构 指导教师: 专业班级: 学生: 起止日期: 2012.12-2013.1

设计题目一:通讯录管理系统的设计与实现 1 概述 1.1现状分析 课程设计是实践教学中的重要环节,它以某一门课程为基础,涉及和课程相关的各方面知识,是一门独立于课程外的特殊课程。课程设计就是让所有同学对课程更全面的应用。本次实验项目“通讯录管理”就是针对数据结构的一门应用较为广泛的系统管理方法。 1.2 实现意义 本次实验应用性能很好,结构清楚,能随时添加、删除、查找、修改、输出联系人;并且可以用、编号两种方式;而且其中增加了排序功能,使得插入之后排序为接下来的操作提供便利,操作更精确,以人性化的方式展现出来,效果十分突出。 2 系统分析 编程完成通讯录的一般性管理工作如通讯录中记录的增加、修改、查找、删除、输出等功能。每个记录包含编号、、性别、、住址个人基本信息。用《数据结构》中的链表做数据结构结合c语言基本知识编写一个通讯录管理系统。本程序相对简单,使用方便,几乎不用特殊的命令,只需按提示输入即可。对于建立通讯录管理系统,则需了解并掌握数据结构与算法的设计方法,尤其在算法方面,链表及结点的联系,提高综合运用所学的理论知识和方法独立分析和解决问题的能力。 3 概要设计 3.1算法的设计 本实验从整体上分为七大模块:(1)通讯录链表的建立;(2)通讯者结点的插入;(3)通讯者结点的查询;(4)通讯者结点的删除;(5)通讯者结点的修改;(6)通讯录链表的输出;(7)退出通讯录管理通讯者结点的删除系统。

数据结构 链表的应用 通讯录管理

数据结构链表的应用通讯录管理 实验要求: 一、设计一个含有多个菜单项的程序,菜单项内容如下: 1通讯录链表的建立 2通讯录链表的插入 3通讯录链表的查询 4通讯录链表的删除 5通讯录链表的输出 0退出管理系统 要求只能用0-5来选择菜单项,其他的输入无效 二、分别实现多个菜单项的功能,要求每个功能在操作时都有确认提示 三、编写一个程序实现整个通讯录管理系统,把主菜单的生成和各菜单项功能的实现作为子程序或者函数或者过程来实现。 四、要求关键语句必须要写注释。 #include"stdio.h" #include"string.h" #include"stdlib.h" typedefstructabc{//通讯录结点类型 charnum[5];//编号 charname[9];//姓名 charsex[3];//性别 charphone[13];//电话 charaddr[31];//地址 }DataType; typedefstructnode{//结点类型定义

DataTypedata;//结点数据域 structnode*next;//结点指针域 }ListNode; typedefListNode*LinkList; LinkListhead; ListNode*p; //函数说明 intmenu_select(); LinkListCreateList(void); voidInsertNode(LinkListhead,ListNode*p); ListNode*ListFind(LinkListhead); voidDelNode(LinkListhead); voidPrintList(LinkListhead); //主函数 voidmain() { for(;;){ switch(menu_select()) { case1: printf("**********************************\n"); printf("*通讯录链表的建立*\n"); printf("**********************************\n"); head=CreateList(); break; case2:

学校通讯录管理系统数据库设计

数据库设计 在本实例中使用的是SQLServer 2000数据库管理系统。数据库服务器安装的位置为本机,数据库名称为commu ni catio nserver 。下面将介绍数据库分析和设计、数据表的创建、数据表关系图和创建存储过程的内容。 4.2.1 数据库分析和设计 在本节中,将根据上一节系统功能的设计分析创建各数据表的实体E-R关系图,它是数 据库设计非常重要的一步,下面用E-R图的形式表示出各实体的属性。 1. 用户E-R实体图 用户的实体具有用户ID、密码、姓名、性别、电话、E-mail、用户权限7个属性,ER图如图4-5所示。 图4-5 用户E-R实体图 2. 地区E-R实体图 地区的实体具有地区编号、地区名称2个属性,E-R图如图4-6所示。 图4-6 地区E-R实体图 3. 职务E-R实体图 职务的实体具有职务编号、职务名称2个属性,E-R图如图4-7所示。 图4-7 职务E-R实体图 姓名用户权限性别 1 用户E-mail 地区 职务职务名称

4. 学校E-R 实体图 学校的实体具有学校名称、学校所在地区、在校学生人数3个属性,可用 E-R 图表示, 如图4-8所示。 (学校名称X 学校一(在校学生人数 图4-8 学校E-R 实体图 5. 通讯录E-R 实体图 通讯录的实体具有联系人姓名、地址、联系电话、所属职务、所在学校、所在单位、所 属地区7个属性,E-R 图如图4-9所示。 图4-9 通讯录E-R 实体图 4.2.2 数据表的创建 在上面一节中讲解了实体的 E-R 图,本节中将根据E-R 图的内容,创建企业信息管理系 统中的各数据表,在此系统中共涉及到 5个数据表的应用,分别为如下。 1、 字段采用camel 风格定义 2、 用不同颜色区分字段 主键:蓝色 外键:白色 既是主键又是外键:淡蓝色 普通字段:青绿 学校编号 学校所在地区 联系电话 通讯录 所在单位 * 所在学校 彳所属职务

通讯录管理系统(C语言)—单链表

广州大学物理与电子工程学院 程序与设计训练 通讯录管理系统实验报告 专业班级:电子121 设计人员:元达鹏 学号:1219200065 2013年6月24日

通讯录管理系统 一.需求分析 设计题目及需求: (1)查看功能:选择此功能时,列出下列三类选择。A 办公类 B 个人类 C 商务类,当选中某类时,显示出此类所有数据中的姓名和电话号码) (2)增加功能:能录入新数据(一个结点包括:姓名、电话号码、分类(可选项有:A 办公类 B 个人类 C 商务类)、电子邮件。例如:杨春135******** 商务类chuny@https://www.360docs.net/doc/d56818489.html, (3)当录入了重复的姓名和电话号码时,则提示数据录入重复并取消录入;当通信录中超过15条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。 (4)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改 (5)删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。 系统功能需求分析: 主要包含以下几种功能: 1.建立通讯录(建立功能) 2.删除通讯人(删除功能) 3.保存通讯录(保存功能) 4.读取通讯录文件(读取功能) 5.查找通讯人(查找功能) 6.添加通讯人(添加功能) 7.修改通讯人信息(修改功能)

8.退出通讯录系统 二.概要设计 系统功能模块图: 主菜单 建立删除保存读取查找添加修改退出 建立功能:在主菜单中输入1,进入建立功能。用户自己输入通讯录文件名,建立一个新的通讯录,便开始输入信息,一旦想结束添加,在输入姓名处输入“*”结束录入。(当录入相同的姓名和电话时,系统会告 诉你已经重复录入) 删除功能:在主菜单中输入2,进入删除功能。用户输入待删除人的姓名,系统会自动显示待删除人的信息,并且提示是否删除该通讯人。(当输 入的姓名不存在的时候,系统会告诉你此人不存在) 保存功能:在主菜单中输入3,进入保存功能。将你已经写好的通讯录保存在建立时创建的文件里面。(当保存成功后,系统会告诉你保存成功) 读取功能:在主菜单中输入4,进入读取功能。读取一个任意一个已经存在的文件,用户可以输入想要读取的文件,一旦文件读取成功,系统会告诉你文件读取成功。 查找功能:在主菜单中输入5,进入查找功能。查找方式有三种:1. 按姓名查

通讯录管理系统数据库设计说明

通讯录管理系统数据库设计与实现 1 需求简介() 1.1功能概述 1.2数据要求 功能中涉及的数据项说明。 1.用分组基本信息(Admin):包括分组号、分组名; 2.用户基本信息(Dormitory):包括账号、密码、昵称、个性签名,这样可以 方便分清用户记录的联系人;

3.联系人基本信息(linkman):包括、性别、关系、手机号、座机号、QQ、E-mail、 生日、工作单位、地址、所属用户、所属分组; 1.3数据字典 数据项列表 数据项编号数据项名数据项含义与其它数据项的关系存储结构别名TXL-1 G_number 分组号CHAR(10) TXL-2 G_name 分组名CHAR(20) TXL-3 ID 所属用户等同于账号ID CHAR(10) TXL-4 ID 账号CHAR(10) TXL-5 Nickname 昵称CHAR(20) TXL-6 Password 密码CHAR(20) TXL-7 Qianming 签名CHAR(50) TXL-8 L_number 联系人号CHAR(100) TXL-9 Name CHAR(20) TXL-10 Sex 性别CHAR(2) TXL-11 Concern 关系CHAR(10) TXL-12 Phone 手机号CHAR(11) TXL-13 Landline 座机号CHAR(10) TXL-14 QQ QQ号CHAR(10) TXL-15 Email E-mail CHAR(20) TXL-16 Work 工作单位CHAR(30) TXL-17 Address 地址CHAR(30) TXL-18 Birthday 生日Date 数据结构列表 数据结构编号数据结构名 数据结构 含义 组成 DS-1 Grouping 分组G_number,G_name,ID, DS-2 Worker 用户ID,Nickname,Password,Qianming DS-3 Linkman 联系人L_number,Name,Sex,Concern,Phone,Landline,QQ,Email,Work,Address,Birthday,ID,G_number

数据结构课程设计-通讯录管理系统

《数据结构》 课程设计报告书 题目:通讯录管理系统 系别:计算机科学与应用系学号: 学生姓名: 指导教师: 完成日期:2012年5月28日

1 问题描述 (1)题目内容:通讯录管理。 (2)基本要求:利用单链表实现通讯录的建立、通讯者的插入、通讯者的删除、通讯者的查询以及通讯录的输出。 (3)设计目的:通过本次课程设计,了解通讯录的一些基本功能。掌握利用单链表进行插入,查找,用关键字建立单链表。 2 需求分析 经过本次的课程设计,我认为通讯录主要实现的功能如下: (1)添加信息:一个通讯录应该有其基本的添加功能。在程序设计时,我通过一个具有添加功能的函数,实现了个人信息的添加,如:姓名,性别,电话号码,QQ号码,地址。 (2)删除信息:当你不需要某个联系人的信息时,可以直接将该人的信息删除。 (3)查找:一个通讯录应该具有令一基本功能就是查找,本设计时可以按联系人为关键字查找的,只要你输入要查找人的姓名或手机号码或QQ号码就可出来相应的个人信息。 (4)输出:一个通讯录应该具有输出所有联系人的功能,本设计按照次序可以从头到尾把通讯录中的所有联系人都输出,供自己查看。 (5)退出:当你做完你要做的事情之后,就可以退出该程序。 3 总体设计 3.1 算法的定义 LinkList Creat_LinkList()创建空单链表 void Insert_LinkList(LinkList H)建立通讯录,录入联系人的信息,可以把联系人的姓名,性别,手机号,QQ号,地址录入系统。 void Locate_LinkList(LinkList H)按照联系人的姓名,手机号码,QQ号码查找通讯录中联系人的信息。 void Delete_LinkList(LinkList H)按照联系人的姓名,手机号码,QQ号码删除联系人的所有信息。 void print_LinkList(LinkList H)输出通讯录中的所有联系人的信息供使用者查看。

通讯录管理系统 链表

一、通讯录管理系统 1.题目要求 通讯录一般包括通讯者的编号、姓名、性别、电话及地址等信息,设计一个通讯录要求实现通讯者的插入、查询、删除、更新、排序操作。 struct node { char num[5]; //编号 char name[8]; //姓名 char sex; //性别 char tel[8]; //电话 char address[100]; //地址 }; 2.应用程序功能 开始运行时界面如下: 通讯录链表建立界面如下:

通讯录链表插入界面如下: 通讯录链表查询界面如下: 按编号查询界面如下:

按姓名查询编号如下: 通讯录链表删除界面如下: 通讯录链表输出界面如下: 3.输入数据类型、格式和内容限制 输入数据类型为字符型,但在输入过程中不可包含空格,如输入地址过程中不可出现空

格! 4.主要算法模块描述 流程图: 5.源程序代码 #include #include "iostream" int flag1=0; #include "string.h" #include "stdlib.h" #include "windows.h" using namespace std; typedef struct { //通讯录结点类型char num[5]; //编号 char name[9]; //姓名

char sex[3]; //性别 char phone[13]; //电话 char addr[31]; //地址 } DataType; typedef struct node { //结点类型定义 DataType data; //结点数据域 struct node *next; //结点指针域 } ListNode; typedef ListNode *LinkList; LinkList head; ListNode *p; LinkList CreateList(void); void InsertNode(LinkList head,ListNode *p); ListNode *ListFind(LinkList head); void DelNode(LinkList head); void PrintList(LinkList head); /*******尾插法建立带头结点的通讯录链表算法*******/ LinkList CreateList(void) { LinkList head=(ListNode *)malloc(sizeof(ListNode)); //申请头结点ListNode *p,*rear; char flag='y'; //int flag=0; //结束标志置0 rear=head; //尾指针初始指向头结点 while (flag=='y') { p=(ListNode *)malloc(sizeof(ListNode)); //申新结点 printf("编号(4) 姓名(8) 性别电话(11) 地址(31)\n"); printf("-----------------------------------------------\n"); printf("\n添加的编号:\n"); cin>>p->data.num; printf("\n添加的姓名:\n"); cin>>p->https://www.360docs.net/doc/d56818489.html,; printf("\n性别:\n"); cin>>p->data.sex; printf("\n电话:\n"); cin>>p->data.phone; printf("\n地址:\n"); cin>>p->data.addr; rear->next=p; //新结点连接到尾结点之后 rear=p; //尾指针指向新结点 printf("继续建表?(y/n):"); cin>>flag;

通讯录管理系统数据库课程设计报告

湖南涉外经济学院课程设计报告 课程名称数据库原理与应用课程设计 题目通讯录管理系统 组员 学院信息科学与工程学院 班级 指导教师 2015年12月30 日

任务分配表

摘要 随着社会的发展,人际关系变得越来越重要,为了保持良好的人际关系,必须经常与亲戚、朋友、同学、同事保持联系,但是有时候存在着许多的限制条件,比如怎样找到交流对象的各种信息?可能你会想到现实生活中的手机等通讯工具,由于这些工具的单一性,不可能在第一时间找到自己想要的信息资料,因此,为了能够快速查找到联系人的信息,节省查找时间,开发通讯录管理系统。 通讯录管理系统是一个基于SQL数据库储存和JAVA界面模式的个人通讯录管理系统。它是将自己的联系人的具体信息集中管理,成为一个方便人们使用的小软件。在开发过程中主要运用Java, SQL Server技术,由于开发工具和数据库之间的良好使用,可以为开发带来方便,使之成为一个可施行的系统。从而达到开发的目的-----实现对通讯录信息的管理。 通过采用相关技术,以及老师的辅导和同学们的帮助,将系统设计的功能全部实现。功能包括:用户的登录, 添加联系人信息,修改联系人信息,删除联系人信息,查询联系人信息,可以浏览全部通讯的联系人,并且可以根据数据表的各字段来查询你所要找的联系人等功能 关键词: SQL Server,JAVA。

目录 摘要 (3) 第一章绪论 (6) 1.1目的 (6) 1.2背景 (6) 1.3研究内容 (6) 第二章数据库需求分析 (7) 2.1 通讯录系统的功能 (7) 2.2通讯录系统的数据流 (7) 2.3 通讯录系统数据流程图 (8) 2.4通讯录的数据字典 (9) 第三章数据库概念结构设计 (12) 3.1实体 (12) 3.2实体间包括 (12) 3.3 实体属性图 (12) 3.4局部E-R图 (13) 第四章数据库逻辑设计 (15) 4.1 E-R图转化而得到的关系模式 (15) 4.2 由关系模式转换得到的函数依赖 (15) 4.3 关系模式优化 (15) 4.4 对优化后的关系模式的结构 (15) 第五章数据库实施 (17) 5.1数据库创建代码 (17) 5.2数据库表创建代码 (17) 5.2.1用户表 (17) 5.2.2联系人表 (17) 5.2.3分组表 (18) 5.3视图创建代码 (18) 5.4存储过程代码创建 (19) 第六章数据库运行和维护 (20) 6.1登陆模块 (20) 6.2联系人界面 (20) 6.3朋友分组界面及详细查询 (20) 6.4同学分组界面及详细查询 (21) 6.5同事分组界面及详细查询 (22) 6.6查询界面 (23) 6.7增加界面 (24) 6.8修改界面 (24) 6.9删除界面 (25) 第七章总结 (26) 参考文献 (27)

通讯录管理

第4章通讯录管理 4.1 功能需求分析 通讯录管理系统的开发工具采用Visual C++6.0,主要功能是对联系人的信息进行添加、显示、查找、删除、更新、保存等功能。系统给用户提供了一个简单的人机界面,使用户可以根据提示输入操作项,调用对应函数完成系统提供的管理功能。 主要功能需求描述如下: 1. 系统主控平台:允许用户选择想要进行的操作,包括输入添加联系人信息、显示联系人信息、查找联系人信息、删除联系人信息、更新联系人信息、保存到文件和退出系统等。 2. 添加联系人信息:用户根据提示输入联系人的姓名、性别、电话、手机、传真、地址及邮编等。输入完一条联系人信息,提示用户是否继续输入下一条联系人信息或者继续其他操作。允许输入多条联系人的信息。输入完的联系人信息暂时保存在单链表中,等待下一步的操作。 3. 显示联系人信息:在选择了显示联系人信息后,将刚输入的联系人信息从单链表中调出来显示,如果没有数据,则提示无联系人信息。 4. 查找联系人信息:可以根据联系人姓名从单链表中对所有联系人的信息进行查询,如果没有查询到任何信息,系统给出提示信息。 5. 删除联系人信息:首先提示用户输入要删除的联系人的姓名,系统根据用户输入的信息在单链表中查到,如果找到,直接删除该联系人全部信息,如果没找到,系统给出提示信息。 6. 修改联系人信息:首先提示用户输入要进行修改操作的学号,如果单链表中有该学生的信息存在,则提示用户输入要修改的联系人的信息,并将修改结果重新存储在单链表中。如果没有找到要修改的联系人信息,系统将给出提示。 7. 文件保存:本模块的功能是将单链表中的信息存储到文本文件中。系统将提示用户输入文本文件名,确认后将单链表中存储的联系人的信息。 8. 退出,退出系统。 4.2 总体设计 4.2.1 功能模块设计 1. 添加联系人(add函数) 首先建立单链表,调用input_person()函数输入联系人信息,将用户输入的联系人信息存储到单链表中,提示用户是否继续输入,用户输入“Y”或“y”,则调用add()函数实现添加联系人的操作。用户输入“N”或“n”,则返回主菜单界面。 2. 显示联系人 将单链表中的联系人信息打印出来,单链表不为空时,循环调用print_person()函数打印每个联系人信息。 3. 查找联系人 首先提示用户输入要查找的联系人姓名,根据用户输入的姓名在单链表中利用strcmp()

c程序 使用链表建立通讯录

#include #include #include #define N 20 typedef struct Person{ char Tel[N]; char Name[N]; char Address[2*N]; struct Person *next; }Person,*Linklist; //输入函数 void InPut(Linklist p) { printf("\n请输入通讯者姓名:\n"); scanf("%s",p->Name); printf("\n请输入通讯者联系电话:\n"); scanf("%s",p->Tel); printf("\n请输入通讯者地址:\n"); scanf("%s",p->Address); } //输出单个联系人的信息 void PutNode(Linklist p) { printf("\n通讯者姓名:\n%s",p->Name); printf("\n通讯者联系电话:\n%s",p->Tel); printf("\n通讯者地址:\n%s\n\n",p->Address); } //回收内存函数 void Release(Linklist L) { Linklist z,p; p=L; while(p!=NULL) { z=p->next; free(p); p=z; } }

//建立链表的函数 Linklist CreatList() { int tem1; Linklist s,p,L; printf("\n输入通讯者信息:\n输入非零整数开始;或者输入'0'退出:\n"); scanf("%d",&tem1); L=(Linklist)malloc(sizeof(Person)); L->next=NULL; s=L; while(tem1!=0){ p=(Linklist)malloc(sizeof(Person)); InPut(p); p->next=s->next;s->next=p;s=p; printf("\n输入学生信息:\n输入非零整数继续;或者输入'0'退出:\n"); scanf("%d",&tem1); } return L; } //向通讯录中第i个位置前插入一个联系人的函数 void ListInsert(Linklist L,int i) { int j=0; Linklist s,p; p=L; while(p&&jnext;++j;} if(!p||j>i-1) exit(0); s=(Linklist)malloc(sizeof(Person)); InPut(s); s->next=p->next; p->next=s; } //删除通讯录中第i个联系人的函数 void ListDelete(Linklist L,int i) { int j=0; Linklist p,q; p=L; while(p->next&&jnext;++j;} if(!(p->next)||j>i-1) exit(0); q=p->next;p->next=q->next; printf("您将删除的联系人信息为:\n"); PutNode(q);

通讯录管理系统设计说明书

通讯录管理系统设计说明书 系统概述: 随着毕业的来临,我们就将面临分离。为了能在毕业后,能够方便联系我们在大学其间的同学朋友,通讯录就是一个可以帮我们方便查找同学朋友的工具。 随着计算机的普及,人们的生活摆脱了传统式的记事本、电话簿,越来越多的靠计算机来帮助人们记住这些事情,极其简便。这就需要有一个使用的通讯录管理系统,用户可以方便的通过自己电脑的通讯录管理系统,来随时查阅自己所需要的信息,而不必再大费周折去翻开那繁琐的记事本。 通讯录管理系统是一个专门针对储存用户联系方式以及一些简单个人信息的实用管理系统,它方便了用户对众多客户、朋友、同事等个人信息的储存和快速查阅的功能,大大减少了查找过程的时间。 关键字:插入,删除,查找,输出。 需求分析: 调查用户需求: 随着同学们的即将毕业,蹋出社会,交际难免地逐渐扩大,与外界联系将更为广泛和密切,传统的手工通讯录、地址簿已经难以满足快节奏、高效率的现代生活的需求。经常发生要在几十甚至上百张名片中找出某一张名片的情况,若由手工完成效率十分低。当交际扩大后,传统的手工通讯录非常不方便,不易查询、修改、存放,不易保密,容易遗失。 由计算机带来管理庞大而繁杂的通讯录是非常合适的,不仅查询和修改方便,并且效率高,速度快,完全能够满足现代化交际活动的要求,同时也更方便同学们联系交往。 本系统专门用于个人通讯信息管理的小型应用软件,主要提供个人通讯信息的登记、修改、浏览、查询和打印等功能。

1.用户的主要信息需求: ①对个人通讯信息资料进行登记、修改、浏览。 ②对个人通讯信息资料进行按姓名和学号查询。 ③对个人通讯信息资料进行打印输出。 系统功能设计与分析: 1.功能模块图 2.功能设计 (1)新建通讯录功能 增加一个新的记录,并保存通讯录; (2)搜索通讯录功能

通讯录管理系统VB数据库课程设计

西安郵電大學 综合应用软件课程设计报告 题目:通讯录管理系统 学院名称:计算机学院 专业名称:计算机科学与技术 班级:计科1102 学号:04111043(7) 学生姓名:杨康 指导教师:孟彩霞 2013年09月09日 时间: 至 2013年09月23日

一、课程设计目的 在日常生活中,通讯录是不可或缺的一个工具,它能准确记录我们所要联系的人的各种资料,方便我们和别人交流。这个小小的系统设计可以帮助我更好的巩固学过的VB一级数据库方面的知识,让我学会如何可以简单的将前台与后台联系起来。 二、课程设计内容 随着计算机技术的发展,传统的笔记本式的通讯录已经落伍,设计这个程序就是为了更好地对自己经常联系的个人信息进行管理而产生,主要是针对个人信息的管理。包括联系人的姓名、年龄、性别、工作单位、家庭住址,电话号码等等。对这些信息可以通过输入认证密码来添加,删除,修改等管理操作。 三、软硬件环境及系统所采用的体系结构 (1)操作系统:Windows7 (2)数据库系统:Microsoft SQL Server2008企业版 (3)体系结构:系统的体系结构为C/S结构 (4)开发工具:前台为VB,后台数据库为SQL Server 四、需求分析 本软件可以满足用户的基本要求,联系人查询,添加,修改,删除等功能因有尽有,而且通过账户名和密码可以更好的保护个人的隐私,从而加强程序的安全性。 五、系统设计 1,程序流程图

2,数据库设计(1)系统E-R图

(2)逻辑模式 管理员登录 (用户名 密码) 联系人(姓名 年龄 手机 生日 籍贯 QQ Email ) 其中,波浪线为主键。 根据这些需要,本系统需要联系人表、密码表。 六、系统的实施 1,建立数据库结构 本设计使用的是Microsoft SQL Server 2008数据库。程序中共应用了两张数据表,分别是“密码”数据表和“联系人”数据表。这两张数据表的结构如表1和表2所示。 1 密码数据表 该表主要用于管理员登录通讯录的权限,只有表中存在的用户才可以登录该系统。 2 联系人数据表 联系人数据表主要用于浏览通讯录的详细信息,该数据表中记录着通信人的姓名、方式及非类信息等。 管理员 联系人 管理 账号 姓名 年龄 手机 生日 密码 Email QQ 籍贯

相关文档
最新文档