通讯录查询系统课程设计

合集下载

班级通讯录系统课程设计

班级通讯录系统课程设计

班级通讯录系统课程设计一、课程目标知识目标:1. 理解班级通讯录系统的基本概念,掌握其功能和作用;2. 学会运用所学的编程知识,设计并实现一个简单的班级通讯录系统;3. 掌握在班级通讯录系统中进行数据录入、查询、修改和删除等基本操作。

技能目标:1. 能够运用所学的编程语言,独立完成班级通讯录系统的设计和开发;2. 培养学生的逻辑思维和问题解决能力,提高编程实践能力;3. 学会合作与交流,提高团队协作能力。

情感态度价值观目标:1. 培养学生对计算机编程的兴趣和热情,增强学习动力;2. 培养学生的创新意识和实践精神,鼓励尝试和探索;3. 增强学生的责任心,认识到班级通讯录系统在实际生活中的重要性。

课程性质分析:本课程为信息技术课程,旨在让学生将所学的编程知识应用于实际项目中,提高学生的实践能力和创新能力。

学生特点分析:学生处于初中年级,已具备一定的编程基础,对新鲜事物充满好奇心,具备较强的学习能力和动手能力。

教学要求:1. 结合课本内容,注重理论与实践相结合,提高学生的实际操作能力;2. 关注学生的个体差异,实施差异化教学,促进全体学生的共同发展;3. 以学生为主体,激发学生的学习兴趣,培养学生的自主学习能力。

二、教学内容1. 班级通讯录系统的基本概念与功能介绍:- 介绍通讯录系统的定义、作用及其在日常生活和学习中的应用;- 分析班级通讯录系统的功能需求,如信息录入、查询、修改和删除等。

2. 编程语言及开发环境准备:- 结合课本内容,回顾已学的编程语言(如Python、C++等)基础知识;- 介绍开发环境(如Visual Studio、Eclipse等)的安装和使用方法。

3. 数据结构与算法设计:- 学习线性表、链表等数据结构,理解其在通讯录系统中的应用;- 掌握排序、查找等基本算法,并应用于通讯录系统的信息管理。

4. 班级通讯录系统的设计与实现:- 分析系统功能模块,设计系统架构;- 编写代码实现各功能模块,如添加联系人、查询联系人、修改联系人和删除联系人等;- 学习使用文件存储和读取数据,保证通讯录信息的持久化。

学生通讯录管理系统课程设计

学生通讯录管理系统课程设计

学生通讯录管理系统课程设计一、引言学生通讯录管理系统是一种能够有效管理学生通信信息的软件工具。

在当今信息化社会中,为了更好地维护学生通信信息和便于学校管理,设计一个高效、实用的学生通讯录管理系统至关重要。

本文将围绕学生通讯录管理系统的设计与实现展开讨论。

二、需求分析1. 用户需求•管理员需要能够对学生信息进行增删查改操作;•学生要能够方便地修改个人信息;•教师需要便捷地查看学生信息;•系统需要有良好的用户权限管理机制。

2. 功能需求•学生信息管理:包括学生基本信息的录入、修改和删除。

•通讯录管理:实现学生通讯录的管理和分类。

•查询功能:实现对学生信息的快速查询。

•权限管理:分管理员和普通用户,管理员有更高的权限控制。

三、系统设计1. 系统架构学生通讯录管理系统采用典型的客户-服务器架构,后端基于MySQL数据库存储学生信息,前端通过Web页面进行展示和操作。

2. 数据库设计设计数据库表格包括:学生信息表(包括学号、姓名、性别、年级等字段)、用户表、通讯录表等。

3. 页面设计•登录页面:对用户进行身份验证。

•学生信息管理页面:实现对学生基本信息的增删查改。

•通讯录管理页面:实现通讯录的分类和管理。

四、系统实现1. 环境配置•使用Python语言编写后端代码。

•前端采用HTML、CSS、JavaScript。

•数据库采用MySQL。

2. 实现步骤1.搭建后端框架,实现数据的增删查改功能。

2.设计前端页面,实现用户交互和数据展示。

3.进行系统测试和优化。

五、功能演示1. 登录功能输入正确的用户名和密码,用户可以成功登录系统。

2. 学生信息管理管理员可以添加、删除、修改学生信息,普通用户只能查看。

3. 通讯录管理实现对通讯录的添加、分类和管理。

六、总结与展望通过本次学生通讯录管理系统课程设计,我学到了如何进行系统设计、数据库设计和前后端分离开发的方法。

未来,还可以进一步改进系统功能,增加权限管理模块、优化界面交互等,使系统更加稳健和实用。

通讯录查找数据课程设计

通讯录查找数据课程设计

通讯录查找数据课程设计一、教学目标本节课的学习目标包括:知识目标:学生需要掌握通讯录的基本结构和查找数据的方法;技能目标:学生能够使用通讯录查找数据,提高信息检索的效率;情感态度价值观目标:培养学生对信息技术的热爱,增强信息安全意识。

通过对本节课的学习,学生应该能够理解通讯录的概念,掌握查找数据的方法,并在实际操作中提高信息检索的效率。

此外,通过学习本节课,学生应该能够认识到信息技术的重要性,培养对信息技术的兴趣和热情。

二、教学内容本节课的教学内容主要包括:1.通讯录的基本结构:介绍通讯录的组成部分,如姓名、电话号码、邮箱等;2.查找数据的方法:讲解如何快速查找通讯录中的信息,包括顺序查找和二分查找等方法;3.实践操作:学生实际操作通讯录,查找指定的数据,提高信息检索的效率。

通过对上述内容的学习,学生将能够掌握通讯录的基本结构和查找数据的方法,并在实际操作中提高信息检索的效率。

三、教学方法本节课采用以下教学方法:1.讲授法:教师讲解通讯录的基本结构和查找数据的方法;2.案例分析法:教师通过具体的案例,引导学生分析并解决问题;3.实验法:学生实际操作通讯录,查找指定的数据,提高信息检索的效率。

通过上述教学方法,教师将能够有效地传授知识,激发学生的学习兴趣和主动性,促使学生积极参与课堂讨论和实践操作。

四、教学资源本节课的教学资源包括:1.教材:提供通讯录的基本结构和查找数据的方法的理论知识;2.多媒体资料:通过图片、视频等形式,帮助学生更好地理解通讯录的结构和功能;3.实验设备:提供实际的通讯录设备,让学生能够进行实际操作,提高信息检索的效率。

通过上述教学资源,学生将能够更好地理解通讯录的概念和功能,提高信息检索的效率,并在实际操作中培养对信息技术的兴趣和热情。

五、教学评估本节课的评估方式包括:1.平时表现:评估学生在课堂上的参与程度、提问回答等情况,占总分的30%;2.作业:评估学生完成的作业质量,包括通讯录查找练习等,占总分的20%;3.考试:进行一次通讯录查找数据的考试,评估学生的掌握程度,占总分的50%。

通讯录查询系统的设计与实现

通讯录查询系统的设计与实现

通讯录查询系统的设计与实现目录一、设计要求(包括内容描述)------------------------------------------------3二、设计作用与目的-------------------------------------------------------------- 3三、所用软件------------------------------------------------------------------------3四、系统设计----------------------------------------------------------------------- 34.1系统总体设计(附系统总体结构框图)------------------------------- 3 4.2 各子模块设计(附程序流程图)--------------------------------------- 4 4.3相关函数分析--------------------------------------------------------- -------8 4.4 源程序设计------------------------------------------------------------------ 9五、实验调试结果(附运行效果图)----------------------------------------- 13六、设计中的问题及解决方法-------------------------------------------------- 17七、设计心得----------------------------------------------------------------------- 18八、参考文献----------------------------------------------------------------------- 18一、设计要求设计一通讯录程序,包括通讯人的:姓名、性别、手机号码、工作单位、邮箱、等信息。

手机通讯录系统课程设计

手机通讯录系统课程设计

手机通讯录系统课程设计一、课程目标知识目标:1. 让学生理解手机通讯录系统的基本概念,掌握其数据结构及存储方式;2. 使学生掌握编程语言中与手机通讯录系统相关的常用语法和功能;3. 引导学生了解手机通讯录系统的实际应用场景,认识到其重要性。

技能目标:1. 培养学生运用所学知识设计和实现一个简单的手机通讯录系统的能力;2. 提高学生分析问题、解决问题的能力,使其能够针对手机通讯录系统进行优化和改进;3. 培养学生的团队协作能力,使其能够在小组合作中发挥自己的优势,共同完成任务。

情感态度价值观目标:1. 培养学生对计算机科学和编程的兴趣,激发其学习热情;2. 引导学生认识到手机通讯录系统在生活中的广泛应用,增强其实用主义价值观;3. 培养学生的创新意识,使其敢于尝试新思路,勇于挑战困难。

课程性质:本课程为实践性较强的课程,结合理论教学和实际操作,使学生能够在实践中掌握知识。

学生特点:学生处于高年级阶段,已具备一定的编程基础,对手机通讯录系统有一定了解。

教学要求:教师应注重理论与实践相结合,关注学生的个体差异,提高学生的动手实践能力。

在教学过程中,将目标分解为具体的学习成果,便于后续教学设计和评估。

二、教学内容1. 手机通讯录系统概述:介绍手机通讯录系统的基本概念、功能及在实际应用中的重要性。

- 教材章节:第3章 数据结构与应用,第4节 手机通讯录系统2. 数据结构及存储方式:讲解手机通讯录系统中常用的数据结构(如链表、二叉树等)及其存储方式。

- 教材章节:第2章 线性表与树,第3章 数据结构与应用3. 编程语言实现:运用所学编程语言(如C语言、Python等)实现手机通讯录系统的功能。

- 教材章节:第1章 程序设计基础,第5章 编程语言实例分析4. 手机通讯录系统功能设计:- 添加、删除、查找和修改联系人信息- 教材章节:第4章 算法设计与分析,第6章 数据库原理与应用5. 系统优化与改进:分析现有手机通讯录系统的不足,提出优化方案并进行改进。

通讯录系统c课程设计

通讯录系统c课程设计

通讯录系统c 课程设计一、课程目标知识目标:1. 学生能理解通讯录系统的基本概念,掌握其功能结构和设计原理。

2. 学生能掌握运用编程语言(如C语言)实现通讯录系统的基本功能,如添加、删除、查找和修改联系人信息。

3. 学生了解数据结构在通讯录系统中的应用,如链表、结构体等。

技能目标:1. 学生能运用所学知识,独立完成一个简单的通讯录系统设计与实现。

2. 学生通过实践操作,提高编程能力和解决问题的能力。

3. 学生能够运用调试工具进行程序调试,找出并修复程序中的错误。

情感态度价值观目标:1. 学生通过课程学习,培养对计算机编程的兴趣和热情。

2. 学生在学习过程中,养成合作、分享、探究的良好学习习惯。

3. 学生能够认识到编程在生活中的应用价值,激发其进一步学习的动力。

分析课程性质、学生特点和教学要求:本课程为计算机编程课程,以C语言为载体,结合实际生活中的通讯录系统,让学生在实践中掌握编程知识。

学生处于高年级阶段,已具备一定的编程基础,求知欲强,喜欢挑战性任务。

教学要求注重培养学生的动手能力和实际应用能力,将理论知识与实际操作相结合,提高学生的综合素养。

将目标分解为具体的学习成果:1. 学生能够自主设计并实现一个简单的通讯录系统,包括基本功能模块。

2. 学生能够运用所学知识解决实际编程问题,如优化程序性能、修复程序错误等。

3. 学生在学习过程中,能够积极与同学交流合作,分享学习心得和经验。

4. 学生能够通过课程学习,提高自己的编程水平和实际应用能力,为后续学习奠定基础。

二、教学内容1. 通讯录系统基本概念:介绍通讯录系统的定义、功能、应用场景等,使学生对其有一个全面的了解。

2. C语言基础知识回顾:回顾结构体、指针、函数等C语言基础知识,为后续编程打下基础。

3. 数据结构:讲解链表、结构体等数据结构在通讯录系统中的应用,使学生掌握如何利用数据结构组织数据。

4. 编程实现通讯录功能:详细讲解如何用C语言实现通讯录的添加、删除、查找和修改联系人信息等功能,让学生动手实践。

通讯录课程设计课程内容

通讯录课程设计课程内容

通讯录课程设计课程内容一、教学目标本课程旨在让学生掌握通讯录的基本知识,包括通讯录的格式、编排和运用;培养学生运用通讯录进行信息管理和交流的能力;引导学生理解通讯录在现代社会中的重要性,培养学生的信息素养和责任感。

具体目标如下:1.知识目标:(1)了解通讯录的定义、分类和基本结构。

(2)掌握通讯录的编排方法和技巧。

(3)了解通讯录在日常生活和工作中的应用。

2.技能目标:(1)能够独立制作和运用通讯录。

(2)能够根据需求对通讯录进行修改和调整。

(3)能够运用通讯录进行有效信息管理和交流。

3.情感态度价值观目标:(1)培养学生对通讯录的重视和正确使用习惯。

(2)培养学生信息素养,提高学生运用信息技术的能力。

(3)培养学生团队协作精神,提高学生社会适应能力。

二、教学内容本课程的教学内容主要包括以下几个部分:1.通讯录的定义、分类和基本结构。

2.通讯录的编排方法和技巧。

3.通讯录在日常生活和工作中的应用。

4.通讯录的制作和运用。

5.通讯录的修改和调整。

6.通讯录在信息管理和交流中的作用。

三、教学方法本课程采用讲授法、讨论法、案例分析法和实验法等多种教学方法,以激发学生的学习兴趣和主动性。

1.讲授法:通过讲解通讯录的基本知识和技巧,使学生掌握通讯录的相关概念和运用方法。

2.讨论法:学生进行小组讨论,分享制作和运用通讯录的心得,培养学生团队协作能力。

3.案例分析法:分析实际案例,使学生了解通讯录在日常生活和工作中的应用,提高学生的信息素养。

4.实验法:引导学生动手制作和运用通讯录,培养学生的实际操作能力。

四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备等。

1.教材:选用权威、实用的通讯录教材,为学生提供系统的知识体系。

2.参考书:提供丰富的参考资料,拓展学生的知识视野。

3.多媒体资料:制作精美的课件、视频等资料,提高学生的学习兴趣。

4.实验设备:提供足够的实验设备,保证学生能够顺利进行实验操作。

数据结构课程设计-通讯录查询系统的设计与实现

数据结构课程设计-通讯录查询系统的设计与实现

通讯录查询系统的设计与实现一、需求分析1、问题描述为某个单位建立一个员工通讯录管理系统,可以方便查询每一个员工的电话与地址。

设计散列表存储,设计并实现通讯录查找系统。

2、基本要求a.每个记录有下列数据项:电话号码、用户名、地址;b.从键盘输入各记录,分别以电话号码为关键字建立散列表;c.采用二次探测再散列法解决冲突;d.查找并显示给定电话号码的记录;e.通讯录信息文件保存。

二、概要设计1.数据结构本程序需要用到两个结构体,分别为通讯录message以及哈希表HxList2.程序模块本程序包含两个模块,一个是实现功能的函数的模块,另一个是主函数模块。

系统子程序及功能设计本系统共有三个子程序,分别是:int Hx(long long key,int data)//哈希函数void BulidHx(HxList &L)//建立通讯录int Search(HxList &L)//查找3.各模块之间的调用关系以及算法设计主函数调用BulidHx以及Search函数。

函数BulidHx调用函数Hx。

三、详细设计1.数据类型定义typedef struct{char *name;char *add;long long phonenumber;}message;typedef struct{message *list;int number;//记录数}HxList;2.系统主要子程序详细设计a. 建立通讯录void BulidHx(HxList &L)//建立通讯录{FILE *f = fopen("E:\\tongxunlu.txt", "w");char buf[20]={0},str[20]={0};long long key;cout<<"输入要建立的记录数:";cin>>L.number;L.number+=1;L.list=new message[L.number];//分配哈希表的存储空间for(int i=0;i<L.number;i++){L.list[i].phonenumber=-1;}L.list[L.number-1].name=NULL;L.list[L.number-1].add=NULL;cout<<"输入记录信息(电话号码用户名地址)"<<endl; for(int i=0;i<L.number-1;i++){cin>>key>>buf>>str;int pose=Hx(key,L.number);//获取理论上的存储位置if(L.list[pose].phonenumber==-1){}else{//用二次探测再散列法解决冲突//1^2 -1^2 2^2 -2^2int di,count=1;xunhuan: if(count%2==0)di=-(count/2)*(count/2);elsedi=((count/2)+1)*((count/2)+1);int site=Hx(key+di,L.number);if(site>=0){if(L.list[site].phonenumber==-1){pose=site;}else{count++;goto xunhuan;}}else{site=L.number-abs(site);if(L.list[site].phonenumber==-1){pose=site;}else{count++;goto xunhuan;}}}L.list[pose].phonenumber=key;fprintf(f,"%lld",key);fprintf(f," ");L.list[pose].name=new char[strlen(buf)+1];strcpy(L.list[pose].name,buf);fprintf(f,"%s",buf);fprintf(f," ");L.list[pose].add=new char[strlen(str)+1];strcpy(L.list[pose].add,str);fprintf(f,"%s",str);fprintf(f,"\n");}}b.查找int Search(HxList &L)//查找{long long key;cout<<"输入要查找记录的关键字(电话号码):";cin>>key;int pose=Hx(key,L.number);//计算理论上的位置if(L.list[pose].phonenumber==key){}else{int count=1,di;//二次探测再散列,查找xunhuan: if(count%2==0){di=-(count/2)*(count/2);}else{di=((count/2)+1)*((count/2)+1);}int site=Hx(key+di,L.number);if(site>=0){if(L.list[site].phonenumber==key){pose=site;}else{count++;if(L.list[site].phonenumber==-1){cout<<"没有找到"<<endl;return -1;//没有找到}goto xunhuan;}}else{site=L.number-abs(site);if(L.list[site].phonenumber==key){pose=site;}else{count++;if(L.list[site].phonenumber==-1){cout<<"没有找到"<<endl;return -1;//没有找到}goto xunhuan;}}}if(L.list[pose].phonenumber==key){cout<<"电话号码\t"<<"用户名\t"<<"地址"<<endl;cout<<L.list[pose].phonenumber<<"\t"<<L.list[pose].name<<"\t"<<L.list[pose].add< <endl;return pose;}}四、测试与分析1.显示主菜单,运行程序可以显示出如下界面。

通讯录系统课程设计

通讯录系统课程设计

通讯录系统课程设计一、课程目标知识目标:1. 让学生掌握通讯录系统的基本概念,了解其在日常生活和工作中的应用。

2. 使学生了解并掌握通讯录系统中数据的存储、检索和更新等基本操作。

3. 帮助学生理解通讯录系统的数据结构及其优势。

技能目标:1. 培养学生运用所学知识设计和实现一个简单的通讯录系统。

2. 培养学生运用编程语言实现通讯录系统中数据的增删改查等操作。

3. 提高学生分析问题、解决问题的能力,能够针对通讯录系统提出优化建议。

情感态度价值观目标:1. 培养学生主动探索新知识、积极思考的学习态度,增强他们对信息技术的兴趣和热情。

2. 培养学生的团队协作精神,学会在项目合作中发挥个人优势,共同完成任务。

3. 增强学生的信息素养,使他们意识到信息技术在生活中的重要性,并能够遵守相关法律法规,保护个人隐私。

分析课程性质、学生特点和教学要求:1. 课程性质:本课程为信息技术课程,注重实践操作和理论知识相结合。

2. 学生特点:学生为初中年级,已具备一定的计算机操作基础,对新鲜事物充满好奇心。

3. 教学要求:教师应注重启发式教学,引导学生主动参与课堂,关注学生个体差异,提高教学效果。

二、教学内容1. 通讯录系统基本概念:介绍通讯录的定义、作用及其在生活中的应用。

教材章节:第一章第二节2. 通讯录系统数据结构:讲解通讯录中数据的组织方式,如列表、树等。

教材章节:第二章第一节3. 通讯录系统功能设计:分析通讯录系统所需实现的基本功能,如增加、删除、修改和查询联系人信息。

教材章节:第三章第一节4. 编程语言实现通讯录系统:运用所学编程语言(如Python、C++等),实现通讯录系统的基本功能。

教材章节:第四章5. 通讯录系统优化与扩展:探讨如何优化通讯录系统性能,如提高查询效率、扩展系统功能等。

教材章节:第五章6. 项目实践:分组进行项目实践,设计并实现一个简易的通讯录系统。

教材章节:第六章教学内容安排与进度:第一周:通讯录系统基本概念、数据结构第二周:通讯录系统功能设计第三周:编程语言实现通讯录系统第四周:通讯录系统优化与扩展第五周:项目实践与展示、评价三、教学方法1. 讲授法:针对通讯录系统基本概念、数据结构等理论知识,采用讲授法进行教学,帮助学生建立完整的知识体系。

c通讯录系统课程设计

c通讯录系统课程设计

c 通讯录系统课程设计一、教学目标本课程旨在通过学习C通讯录系统,使学生掌握C语言编程的基本技能,能够运用C语言实现简单的通讯录管理系统。

具体目标如下:1.掌握C语言的基本语法和数据类型。

2.了解函数的定义和调用。

3.学习结构体和指针的运用。

4.理解程序的编译和调试过程。

5.能够编写简单的C语言程序。

6.学会使用结构体和指针编写复杂的数据结构。

7.掌握函数的调用和递归。

8.学会使用C语言实现简单的通讯录管理系统。

情感态度价值观目标:1.培养学生的编程兴趣,提高学生对计算机科学的热爱。

2.培养学生解决问题的能力,增强学生的自信心。

3.培养学生团队合作的精神,提高学生的沟通协作能力。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、函数、结构体和指针等。

具体安排如下:1.C语言的基本语法和数据类型(2课时)2.函数的定义和调用(2课时)3.结构体和指针(3课时)4.通讯录管理系统的设计与实现(5课时)三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。

1.讲授法:用于讲解C语言的基本语法、数据类型、函数、结构体和指针等概念。

2.讨论法:通过小组讨论,让学生深入理解编程中的问题,培养学生的沟通能力。

3.案例分析法:分析实际编程案例,让学生学会将理论知识应用于实际问题。

4.实验法:让学生动手编写代码,实现通讯录管理系统,提高学生的实践能力。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:《C程序设计语言》2.参考书:《C Primer Plus》、《C和指针》3.多媒体资料:教学PPT、编程案例视频4.实验设备:计算机、编程环境(如Code::Blocks、Visual Studio等)五、教学评估本课程的教学评估将采用多元化的评估方式,以全面、客观、公正地评估学生的学习成果。

评估方式包括:1.平时表现(30%):评估学生在课堂上的参与度、提问回答、小组讨论等,以考察学生的学习态度和积极性。

通讯录系统c课程设计

通讯录系统c课程设计

通讯录系统c 课程设计一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。

知识目标要求学生掌握通讯录系统的原理、功能和应用场景;理解C语言的基本语法和数据结构;熟悉常用的通讯录系统开发工具和环境。

技能目标要求学生能够运用C语言编写简单的通讯录系统程序;能够使用常用的开发工具和调试技巧。

情感态度价值观目标要求学生培养对编程和计算机科学的兴趣和热情;培养良好的编程习惯和团队协作精神。

二、教学内容本课程的教学内容主要包括通讯录系统的原理和应用、C语言的基本语法和数据结构、通讯录系统程序的设计和实现。

具体的教学大纲如下:1.通讯录系统的原理和应用:介绍通讯录系统的基本概念、功能和应用场景,让学生了解通讯录系统的重要性和实际应用价值。

2.C语言的基本语法和数据结构:介绍C语言的基本语法和数据结构,包括变量、运算符、控制语句、数组、指针等,为学生编写通讯录系统程序打下基础。

3.通讯录系统程序的设计和实现:通过实际案例,引导学生运用C语言编写简单的通讯录系统程序,包括添加、删除、查找和显示通讯录信息等功能。

三、教学方法本课程的教学方法包括讲授法、讨论法、案例分析法和实验法。

通过多种教学方法的结合,激发学生的学习兴趣和主动性。

1.讲授法:教师通过讲解通讯录系统的原理和C语言的基本语法,为学生提供系统的知识结构。

2.讨论法:教师引导学生进行小组讨论,共同探讨通讯录系统程序的设计和实现方法,提高学生的团队协作能力和解决问题的能力。

3.案例分析法:教师通过分析实际案例,让学生了解通讯录系统的应用场景和设计思路,培养学生的实际操作能力。

4.实验法:教师学生进行实验,让学生动手编写和调试通讯录系统程序,提高学生的实践能力和创新能力。

四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。

教材和参考书为学生提供系统的理论知识,多媒体资料为学生提供丰富的视觉和听觉体验,实验设备为学生提供实际操作的机会。

通讯录查询系统课程设计

通讯录查询系统课程设计

《数据结构》课程设计报告信息工程学院计算机科学与技术专业单位员工通讯录管理系统(线性表应用)计算机093班第2组组员:姓名:林鸿学号:0906210319姓名:张明学号:0909310238姓名:周龙学号:0906210335指导教师:郭晓利日期:2011年1月2日程序设计书目录一、程序设计目标二、问题描述三、需求分析(说明课程设计的任务)四、概要设计(说明课程设计中用到的抽象数据类型的定义、主程序的流程以及各程序模块之间的调用关系等)五、详细设计(实现程序模块的具体算法)六、软件说明书(给出软件应如何使用,使用时的具体事项)七、源程序清单(要求400行以上,要有注释说明)八、测试报告(调试过程中遇到的问题以及解决方法,并列出测试结果,包括输入和输出)九、课程设计总结一:程序设计目标通过对通讯录管理链表的课程设计,加深对程序设计的理解,熟练掌握和加深c语言的基本知识和语法规范,同时更进一步地理解数据结构对单链表知识的应用,培养我们调查研究、查阅技术文献、资料、手册以及编写程序的能力,同时也考验我们善于思考,互相帮助的团队精神。

本程序是学会建立通讯录,使人员之间联系更加方便快捷,增加办事效率。

二:问题描述为某个单位建立一个员工通讯录管理系统,可以方便查询每一个员工的办公室电话、手机号及电子邮箱。

其功能包括通讯录链表的建立、员工通讯信息的查询、修改、插入与删除、以及整个通讯录的输出。

三:需求分析想要建立一个单位员工通讯录的管理系统,方便查询其每个员工的一些信息。

首先,应运用c语言中结构体的知识。

把员工的各项信息储存到结构体的链表中,定义一个新的结构体类型struct(struct是声明结构体时所必须使用的关键字)它向编译系统声明这是一个“结构体类型”,它包括num, name ,phone等不同类型的数据项。

其次:运用数据结构中线性表的知识。

线性表的存储结构分为线性表的线性存储结构和线性表的链式存储结构,线性表的顺序存储结构是指用一组地址连续的存储单元一次存储线性表的数据元素。

通讯录查询系统课程设计

通讯录查询系统课程设计

通讯录查询系统课程设计一、课程目标知识目标:1. 理解通讯录查询系统的基本概念和原理;2. 掌握运用编程语言设计简单的通讯录查询功能;3. 学会使用数据结构存储和管理通讯录信息;4. 了解数据库的基本操作,实现通讯录信息的存取。

技能目标:1. 能够运用所学知识,独立设计并实现一个通讯录查询系统;2. 通过编程实践,提高问题分析、设计和解决问题的能力;3. 学会使用调试工具,对程序进行调试和优化;4. 培养团队协作和沟通能力,共同完成项目任务。

情感态度价值观目标:1. 激发学生对计算机科学的兴趣和热情,培养主动学习的习惯;2. 培养学生的创新意识,敢于尝试新方法解决问题;3. 增强学生的责任感,认识到技术对社会的重要性;4. 引导学生关注通讯技术在生活中的应用,体会科技发展的价值。

本课程针对高年级学生,结合教材内容,以实用性为导向,旨在提高学生的编程实践能力和问题解决能力。

课程通过设计一个通讯录查询系统,将理论知识与实践相结合,使学生能够将所学知识运用到实际项目中。

课程目标分解为具体的学习成果,以便于教学设计和评估,确保学生能够达到预期学习效果。

二、教学内容1. 通讯录查询系统概述:介绍通讯录查询系统的基本概念、功能及在实际中的应用;- 相关章节:教材第3章“数据库技术应用”2. 数据结构基础:讲解线性表、树等基本数据结构,分析其在通讯录查询系统中的应用;- 相关章节:教材第2章“数据结构”3. 编程语言基础:运用C++/Java等编程语言,实现通讯录查询功能;- 相关章节:教材第4章“面向对象程序设计”4. 数据库操作:介绍数据库的基本操作(增、删、改、查),实现通讯录信息的存取;- 相关章节:教材第5章“数据库设计与应用”5. 程序调试与优化:学习使用调试工具,对程序进行调试和优化;- 相关章节:教材第6章“程序调试与测试”6. 项目实践:分组进行项目实践,设计并实现一个通讯录查询系统;- 相关章节:教材第8章“综合项目实践”教学内容按照课程目标进行科学性和系统性的组织,教学大纲明确教学安排和进度。

通讯录查询系统课程设计

通讯录查询系统课程设计

通讯录查询系统课程设计一、引言通讯录是一种重要的工具,用于管理和存储个人或组织成员的联系方式。

通讯录的主要功能是方便快捷地查找、添加、编辑和删除联系人的信息。

为了更好地管理和利用通讯录,设计一个通讯录查询系统是非常有必要的。

本文将介绍通讯录查询系统的设计。

二、系统需求1. 用户管理:系统应该提供用户注册、登录、修改密码等功能,以便不同的用户可以访问其私有的通讯录。

2. 通讯录管理:系统应该允许用户创建新的通讯录,包括通讯录的名称、描述和权限设置。

通讯录可以设为公开、仅自己可见或仅指定可见。

3. 联系人管理:用户可以在通讯录中添加、编辑、删除联系人的信息。

联系人信息包括姓名、电话、邮箱等,可以根据这些信息进行快速查询。

4. 查询功能:系统应该提供多种查询方式,如根据姓名、电话、邮箱等进行查询,以便用户可以快速找到所需的联系人。

5. 授权管理:通讯录的创建者可以授权其他用户对其通讯录的访问权限,包括查看、编辑等。

用户可以根据自己的需求来设置通讯录的权限。

6. 界面友好:系统应该具有简洁、直观的界面,方便用户快速上手使用。

同时,系统的响应速度应该快,以便提高用户的使用体验。

三、系统设计1. 技术选型:本系统选用前端技术使用HTML、CSS和JavaScript,并使用后端技术使用Java语言开发。

2. 数据库设计:系统使用关系型数据库来存储用户信息、通讯录信息和联系人信息。

可以选择MySQL或者Oracle等数据库管理系统。

3. 系统架构:系统采用B/S架构,即浏览器/服务器架构。

用户通过浏览器访问系统,向服务器发出请求,服务器进行处理并返回响应。

4. 功能模块划分:根据系统需求,将系统划分为用户管理模块、通讯录管理模块、联系人管理模块、查询功能模块和授权管理模块。

5. 界面设计:系统的界面应该简洁明了,方便用户操作。

可以采用响应式设计,使界面在不同设备上都能够正常显示和操作。

6. 系统流程:用户首先需要注册和登录系统,然后可以创建自己的通讯录,并添加联系人信息。

web通讯录查询系统课程设计

web通讯录查询系统课程设计

Web 应用程序课程设计实验题目:通讯录管理系统学院计算机科学学院专业网络工程班级13级(1)班姓名田杰2016 年 6 月30日一.实验题目通讯录管理系统二.实验任务该项目的目的是开发一个单班通讯录以及后台管理系统,能够实现对单班通讯录的文章以及班级成员信息进行管理。

论坛主要由用户浏览模块和管理员模块两部分组成。

主要设计的用户浏览模块窗体包括:班级首页,论坛发表新帖,用户资料中心、上传班级图片、安全中心、班内短信平台、邀请好友,用户退出;管理员模块:班级信息管理,投票系统管理,短信管理,相册管理,论坛管理,用户和管理员管理三.开发及运行环境系统开发平台:Microsoft Visual Studio 2010。

系统开发语言:Web 系统后台数据库:SQL Server 2008运行平台:Windows 7四.项目简介(1)在前台实现的基本主要有:1. 班级首页:用户可按在未登录的情况下查看班级的基本信息,或者登录状态下进行其他用户功能的使用以及本人信息的管理。

也可以在本页面点击注册按钮进行用户注册和密码找回操作。

2. 发表帖子功能:用户在登陆后可以发表新的文章在单班通讯录内,文章会像其他注册用户展示,文章排序按照发表的时间顺序倒序排列。

3. 用户资料中心:普通用户登录情况下可以查看有关自己的所有详细信息并可以更新部分用户资料信息,性别、生日、E-Mail、MSN、上传头像、QQ、手机号、ICQ、固定电话、邮编、单位信息、详细地址、主页链接和个人签名等。

4. 上传班级图片:用户在登录状态下可以向主页上传班级照片,照片会向其他注册用户展示,排列方式也是按照上传的时间倒序排列。

5. 安全中心:用户登录状态下可以更改现有密码,也可以设置本人密码提示问题及答案。

6. 班内短信平台:用户登录状态下,可以向其他注册用户发送信息,信息将在下次该用户登录时进行信息提示。

7. 邀请同学:用户登录状态下,可以向班级内同学邮箱发送信息,邀请他开通账号。

学生通讯录管理系统课程设计报告

学生通讯录管理系统课程设计报告

学生通讯录管理系统课程设计报告一、课程设计背景学生通讯录管理系统是一个旨在帮助学生和教师更好地管理个人信息和通讯录的软件系统。

随着信息技术的不断发展,现代教育领域对教学、管理和学习等方面的要求越来越高,传统的纸质通讯录管理方式已经无法满足教育机构的需求。

因此,开发一个便捷、高效的学生通讯录管理系统成为当今教育信息化的重要课题。

二、需求分析学生通讯录管理系统主要包括以下功能模块:1.学生信息管理:用于录入、修改和删除学生个人信息,包括姓名、学号、性别、联系方式等;2.通讯录管理:实现通讯录的分类、查找、添加和删除功能,方便学生和教师进行联系;3.用户权限管理:设置不同权限等级的用户,如学生、教师和管理员,确保信息安全性;4.数据备份与恢复:对系统中的重要数据进行定期备份,保障数据的安全性;5.界面友好性:系统界面简洁明了,操作便捷,用户体验良好。

三、系统设计1. 系统架构学生通讯录管理系统采用客户端-服务器架构,客户端提供给学生和教师使用,服务器端用于存储核心数据和处理业务逻辑。

2. 数据库设计系统采用关系型数据库,主要包括以下表:•学生表(Student):包含学生的基本信息;•教师表(Teacher):包含教师的基本信息;•通讯录表(Contact):记录学生或教师之间的联系方式;•用户表(User):存储系统用户的账号信息和权限。

3. 功能实现(1)学生信息管理学生信息管理模块提供学生信息的增删改查功能,管理员可以对学生信息进行修改和删除,学生可以查看、修改自己的个人信息。

(2)通讯录管理通讯录管理模块支持对通讯录的分类和搜索功能,学生和教师可以添加、删除通讯录条目,并对通讯录进行管理。

(3)用户权限管理系统设定不同权限等级的用户,管理员有最高权限,可以管理用户账号和角色,确保系统的安全性。

四、系统实现系统采用Java语言进行开发,前端界面使用JavaFX技术,后端采用Spring框架实现业务逻辑,数据库连接采用JDBC等技术。

通讯录系统课程设计实验报告

通讯录系统课程设计实验报告

目录1系统可行性分析 (2)1.1软硬件环境 (2)1.11软件环境 (2)1.12 硬件环境 (2)1.2系统可行性分析分类 (2)1.21技术可行性 (2)1.22 经济可行性 (2)1.23管理可行性 (2)2 需求规格说明书 (2)2.1模块要求 (3)2.2 设计要求 (3)2.3 设计要求功能分析 (3)3 设计规格说明书 (3)3.1 通讯录总的流程图 (4)3.2 创建通讯录的流程图 (4)3.3 添加通讯录记录的流程图 (5)3.4 查找联系人记录的流程图 (5)4 测试策略与方案 (6)4.1测试类型 (6)4.2 测试项目 (7)4.3 测试环境与配置 (7)4.4 输入数据设置 (7)4.5 输入功能设置 (8)5 课程设计总结 (10)参考文献 (10)附件:程序源代码 (11)1系统可行性分析1.1软硬件环境分析1.11软件环境用户端 windows2000 windows2003 windowsxp win7服务器端 windowsxp及以上的操作系统编程语言:c++1.12硬件环境有高性能的电子计算机,大容量的存储装置,个人电脑及连接起来的网线等,组成信息资源共享的计算机网络等1.2系统可行性分析分类1.21技术可行性可以用C语言和相应的软硬件环境实现1.22经济可行性在经济上,用此系统加强了通讯系统信息管理效率,可以省人力资源的开支1.23管理可行性分析在工作上,获取信息量相对较大,开发了此系统,提高了获取信息的效率,方便信息储存和修改及以后随时查找信息系统分析结论该系统是一个比较人性化的管理系统2需求规格说明书2.1模块要求:第一个模块——主函数main()的功能是:根据选单的选项调用各函数,并完成相应的功能。

第二个模块——Menu()的功能是:显示英文提示选单。

第三个模块——Quit()的功能是:退出选单。

第四个模块——Create()的功能是:创建新的通讯录。

c通讯录系统课程设计

c通讯录系统课程设计

c 通讯录系统课程设计一、课程目标知识目标:1. 让学生理解通讯录系统的基础知识,掌握数据结构中链表的应用,以及如何实现数据的存储与检索。

2. 使学生能够运用所学的编程语言,如C语言,设计和实现一个简单的通讯录系统。

3. 帮助学生理解文件操作在通讯录系统中的应用,学会如何对数据进行读写和持久化存储。

技能目标:1. 培养学生运用C语言解决实际问题的能力,包括数据组织、逻辑设计和代码实现。

2. 培养学生独立思考和团队协作的能力,通过小组合作完成通讯录系统的设计。

3. 提升学生的实际编程能力,使其能够熟练使用C语言编写结构清晰、功能完整的程序。

情感态度价值观目标:1. 培养学生对待编程的兴趣和热情,激发其探索精神和创新意识。

2. 通过实际项目的实施,使学生认识到编程对于解决现实问题的意义,增强其对信息技术的信心。

3. 培养学生良好的编程习惯,注重代码规范和团队协作,提升其职业素养。

课程性质:本课程为实践性较强的课程,旨在通过通讯录系统设计与实现的过程,使学生将所学的C语言知识与实际应用紧密结合。

学生特点:考虑到学生已具备一定的C语言基础,能够理解基本的数据结构和编程逻辑,但可能缺乏实际项目经验。

教学要求:教师需引导学生主动参与,鼓励学生独立思考和团队协作,注重培养学生在实践中解决问题的能力。

通过本课程的学习,学生应能够将理论知识应用于实际项目中,实现知识的内化与迁移。

二、教学内容1. 通讯录系统概述:介绍通讯录系统的基本概念、功能需求及其在生活中的应用。

- 相关章节:教材第X章“数据结构与算法的应用”2. 数据结构基础:回顾链表、结构体等基本数据结构,分析其在通讯录系统中的应用。

- 相关章节:教材第X章“数据结构基础”3. C语言编程基础:复习C语言的基本语法,重点强调指针、函数等在通讯录系统设计中的使用。

- 相关章节:教材第X章“C语言基础”4. 文件操作:介绍文件读写操作,解析如何将通讯录数据保存到文件以及从文件中读取数据。

数据结构课程设计_通讯录查询系统的设计与实现

数据结构课程设计_通讯录查询系统的设计与实现

Word格式通讯录查询系统的设计与实现完美整理一、需求分析1、问题描述为某个单位建立一个员工通讯录管理系统,可以方便查询每一个员工的电话与地址。

设计散列表存储,设计并实现通讯录查找系统。

2、基本要求a.每个记录有下列数据项:电话号码、用户名、地址;b.从键盘输入各记录,分别以电话号码为关键字建立散列表;c.采用二次探测再散列法解决冲突;d.查找并显示给定电话号码的记录;e.通讯录信息文件保存。

二、概要设计1.数据结构本程序需要用到两个结构体,分别为通讯录 message以及哈希表HxList2.程序模块本程序包含两个模块,一个是实现功能的函数的模块,另一个是主函数模块。

系统子程序及功能设计本系统共有三个子程序,分别是:int Hx(long long key,int data)//哈希函数void BulidHx(HxList &L)//建立通讯录int Search(HxList &L)//查找3.各模块之间的调用关系以及算法设计主函数调用BulidHx以及Search函数。

函数BulidHx调用函数Hx。

三、详细设计1.数据类型定义typedef struct{char *name;char *add;long long phonenumber;}message;typedef struct{message *list;int number;//记录数}HxList;2.系统主要子程序详细设计a. 建立通讯录void BulidHx(HxList &L)//建立通讯录{FILE *f = fopen("E:\\tongxunlu.txt", "w");char buf[20]={0},str[20]={0};long long key;cout<<"输入要建立的记录数:";cin>>L.number;L.number+=1;L.list=new message[L.number];//分配哈希表的存储空间for(int i=0;i<L.number;i++){L.list[i].phonenumber=-1;}L.list[L.number-1].name=NULL;L.list[L.number-1].add=NULL;cout<<"输入记录信息(电话号码用户名地址)"<<endl; for(int i=0;i<L.number-1;i++){cin>>key>>buf>>str;int pose=Hx(key,L.number);//获取理论上的存储位置if(L.list[pose].phonenumber==-1){}else{//用二次探测再散列法解决冲突//1^2 -1^2 2^2 -2^2int di,count=1;xunhuan: if(count%2==0)di=-(count/2)*(count/2);elsedi=((count/2)+1)*((count/2)+1);int site=Hx(key+di,L.number);if(site>=0){if(L.list[site].phonenumber==-1){pose=site;}else{count++;goto xunhuan;}}else{site=L.number-abs(site);if(L.list[site].phonenumber==-1){pose=site;}else{count++;goto xunhuan;}}}L.list[pose].phonenumber=key;fprintf(f,"%lld",key);fprintf(f," ");L.list[pose].name=new char[strlen(buf)+1];strcpy(L.list[pose].name,buf);fprintf(f,"%s",buf);fprintf(f," ");L.list[pose].add=new char[strlen(str)+1];strcpy(L.list[pose].add,str);fprintf(f,"%s",str);fprintf(f,"\n");}}b.查找int Search(HxList &L)//查找{long long key;cout<<"输入要查找记录的关键字(电话号码):";cin>>key;int pose=Hx(key,L.number);//计算理论上的位置if(L.list[pose].phonenumber==key){}else{int count=1,di;//二次探测再散列,查找xunhuan: if(count%2==0){di=-(count/2)*(count/2);}else{di=((count/2)+1)*((count/2)+1);}int site=Hx(key+di,L.number);if(site>=0){if(L.list[site].phonenumber==key){pose=site;}else{count++;if(L.list[site].phonenumber==-1){cout<<"没有找到"<<endl;return -1;//没有找到}goto xunhuan;}}else{site=L.number-abs(site);if(L.list[site].phonenumber==key){pose=site;}else{count++;if(L.list[site].phonenumber==-1){cout<<"没有找到"<<endl;return -1;//没有找到}goto xunhuan;}}}if(L.list[pose].phonenumber==key){cout<<"电话号码\t"<<"用户名\t"<<"地址"<<endl;cout<<L.list[pose].phonenumber<<"\t"<<L.list[pose].name<<"\t"<<L.list [pose].add<<endl;return pose;}}四、测试与分析1.显示主菜单,运行程序可以显示出如下界面。

手机通讯录c课程设计

手机通讯录c课程设计

手机通讯录c 课程设计一、课程目标知识目标:1. 学生能理解手机通讯录的基本概念,掌握通讯录的信息存储、检索和管理方式。

2. 学生能够描述手机通讯录的存储结构,了解联系人信息的组成和分类。

3. 学生掌握使用手机自带通讯录软件进行联系人添加、删除、修改和查询的操作方法。

技能目标:1. 学生能够独立操作手机通讯录软件,高效地管理联系人信息。

2. 学生通过实际操作,提高信息处理能力和解决问题的能力。

3. 学生通过小组合作,培养团队协作能力和沟通技巧。

情感态度价值观目标:1. 学生培养对个人信息保护的意识,尊重他人隐私。

2. 学生通过学习手机通讯录管理,认识到科技在日常生活中的重要作用,激发对信息技术的兴趣。

3. 学生在学习过程中,培养积极的学习态度,树立正确的价值观。

课程性质:本课程为信息技术课程,以实践操作为主,注重培养学生的动手能力和信息素养。

学生特点:六年级学生具备一定的手机操作基础,对新鲜事物充满好奇,喜欢动手实践。

教学要求:教师需关注学生个体差异,因材施教,注重理论与实践相结合,提高学生的信息处理能力和团队协作能力。

在教学过程中,关注学生的情感态度,引导他们树立正确的价值观。

通过对课程目标的分解,使学生在学习过程中达到预期的学习成果,为后续的教学设计和评估提供依据。

二、教学内容1. 手机通讯录概述- 通讯录的定义与功能- 通讯录在生活中的应用2. 手机通讯录的存储结构与信息管理- 联系人信息的组成与分类- 通讯录存储结构的特点3. 手机通讯录软件操作- 联系人添加、删除、修改和查询方法- 联系人信息的导入与导出- 通讯录分组管理与搜索功能4. 个人信息保护与隐私安全- 信息保护意识培养- 隐私安全的重要性与措施5. 实践操作与案例分析- 实际操作手机通讯录软件,进行联系人管理- 分析通讯录管理中的典型问题,探讨解决方案6. 小组合作与展示- 分组讨论,共同完成通讯录管理任务- 各组展示成果,分享经验与心得教学内容安排与进度:第一课时:手机通讯录概述、存储结构与信息管理第二课时:手机通讯录软件操作、个人信息保护与隐私安全第三课时:实践操作与案例分析、小组合作与展示教材章节:本教学内容与教材中“手机通讯录管理”章节相关,涵盖该章节的主要内容。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据结构》课程设计报告信息工程学院计算机科学与技术专业单位员工通讯录管理系统(线性表应用)计算机093班第2组组员:姓名:林鸿学号:0906210319姓名:张明学号:0909310238姓名:周龙学号:0906210335指导教师:郭晓利日期:2011年1月2日程序设计书目录一、程序设计目标二、问题描述三、需求分析(说明课程设计的任务)四、概要设计(说明课程设计中用到的抽象数据类型的定义、主程序的流程以及各程序模块之间的调用关系等)五、详细设计(实现程序模块的具体算法)六、软件说明书(给出软件应如何使用,使用时的具体事项)七、源程序清单(要求400行以上,要有注释说明)八、测试报告(调试过程中遇到的问题以及解决方法,并列出测试结果,包括输入和输出)九、课程设计总结一:程序设计目标通过对通讯录管理链表的课程设计,加深对程序设计的理解,熟练掌握和加深c语言的基本知识和语法规范,同时更进一步地理解数据结构对单链表知识的应用,培养我们调查研究、查阅技术文献、资料、手册以及编写程序的能力,同时也考验我们善于思考,互相帮助的团队精神。

本程序是学会建立通讯录,使人员之间联系更加方便快捷,增加办事效率。

二:问题描述为某个单位建立一个员工通讯录管理系统,可以方便查询每一个员工的办公室电话、手机号及电子邮箱。

其功能包括通讯录链表的建立、员工通讯信息的查询、修改、插入与删除、以及整个通讯录的输出。

三:需求分析想要建立一个单位员工通讯录的管理系统,方便查询其每个员工的一些信息。

首先,应运用c语言中结构体的知识。

把员工的各项信息储存到结构体的链表中,定义一个新的结构体类型struct(struct是声明结构体时所必须使用的关键字)它向编译系统声明这是一个“结构体类型”,它包括num, name ,phone等不同类型的数据项。

其次:运用数据结构中线性表的知识。

线性表的存储结构分为线性表的线性存储结构和线性表的链式存储结构,线性表的顺序存储结构是指用一组地址连续的存储单元一次存储线性表的数据元素。

线性表的链式存储结构则是通过指针反映元素之间的关系,不要求逻辑上相邻的元素在物理位置上也相邻,所以该方法可以克服顺序表的一些缺点。

所以本题应运用线性链表的链式存储结构。

线性链表的链式存储结构又分为单链表、循环链表和双链表,本题运用单链表的知识。

1:通讯录链表的建立。

建立单链表有两种方法,头插入法和尾插入法。

头插入法是将每次新插入的结点插入在链表的表头,而尾插入法是将新插入的结点插入到链表的表尾。

在这个通讯录的建立中将采用尾插入法建立链表。

2:链表的插入。

链表结点的插入是要求将一个通讯录数据结点按其编号的顺序插入有序通讯录表的相应位置,以保持其有序性。

使用两个指针变量分别指向刚访问的结点和下一个结点,寻找插入结点的位置,其中一个指向待插入位置的前一个结点。

3:单链表的删除。

输入要查找的通讯录的编号或者姓名,从表头顺序访问表中结点,查找成功则返回指向查找的通讯者信息的结点,删除结点即可。

4:链表的查询。

首先输入要查找的通讯录的编号、姓名、办公室电话号或手机号码,从表头顺序访问表中结点,查找成功则返回指向查找的通讯者信息的结点,否则返回一个空的指针。

5:通讯录的输出。

将表头指针赋给一个指针变量,然后用其向后扫描,直至表尾,指针为空为止。

6:员工信息的修改。

首先通过链表的查询找到要修改的结点,找到后就可以对员工的姓名、办公室电话号码、手机号码、电子邮箱任意一项进行改。

四:概要设计(1)本程序主要应用了结构体、指针,函数调用,和单链表的有关知识。

定义通讯者的结点类型:typedef struct{char num[5];//员工编号char name[15];//员工姓名char phone[15];//员工办公室电话号码char call[15];//员工手机号码char e_mail[30];//员工电子邮箱}DataType;线性表的链式存储结构定义:typedef struct node //结点类型定义{DataType data; //结点数据struct node *next; //结点指针域}Dnode;Dnode *head;// 定义指向单链表的头指针Dnode *p; //定义一个指向结点的指针变量函数声明:int menu ();//主菜单Dnode *createlist();//创建void Add(Dnode *head,Dnode *p);//插入Dnode *research(Dnode *head);//查找void Delete(Dnode *head);// 删除Dnode *Change(Dnode *head, char k[]);//修改void printlist(Dnode *head);//输出void Saveandfree(); /*保存到文件*/void Open(); /*打开文件*/(2)进入菜单选择函数,有0-6可以选择,选择1,则调用尾插入法建立通讯录链表函数Dnode *CreateList();选择2,则调用通讯录链表head中插入结点函数void Add(Dnode *head,Dnode *p);选择3,则调用通讯录链表上结点的删除函数void Delete(Dnode *head);选择4,则调用有序通讯录链表上的查找函数Dnode *research(Dnode *head),选择5,则调用通讯录链表的输出函数void Print_List(Dnode *head);选择6,则调用修改员工信息函数Dnode * Change(Dnode *head,char k[]);选择0,则调用保存并退出系统函数,整个程序流程结束。

五.详细设计首先应编写一个菜单程序。

int menu(){int i;printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); printf("\n");printf(" 通讯录系统清单\n ");printf("\n");printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); printf("\n");printf(" 1.通讯录的建立");printf("\n");printf(" 2.添加人员信息");printf("\n");printf(" 3.删除人员信息");printf("\n");printf(" 4.查询人员信息");printf("\n");printf(" 5.输出人员信息");printf("\n");printf(" 6.修改人员信息");printf("\n");printf(" 0.退出并保存");printf("\n");printf("请选择0-6:");scanf("%d",&i);while(i<0||i>6){printf("系统提示: 您输入错误!\n"); //提示输入是否错误printf("请重新输入0-6: ");scanf("%d",&i);printf("\n\n");}return i;}然后主函数调用返回值i,再到switch语句中进行相应的选择,进行模块处理。

Open();while(1){switch(menu()){case 1:printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");printf("\n");printf(" 通讯录链表的建立");printf("\n");printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");printf("\n");//建立通讯录链表的函数调用head=createlist();break;case 2:p=(Dnode *)malloc(sizeof(Dnode));printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");printf("\n");printf(" 通讯者信息的添加");printf("\n");printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");printf("\n");printf("员工编号: \n");scanf("%s",p->data.num);printf("员工姓名: \n");scanf("%s",p->);printf("员工办公室电话号码: \n");scanf("%s",p->data.phone);printf("员工手机号码: \n");scanf("%s",p->data.call);printf("员工电子邮箱: \n");scanf("%s",p->data.e_mail);printf("操作已成功!\n");Add(head,p);break;case 3:printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); printf("\n");printf(" 通讯录信息的删除"); printf("\n");printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); printf("\n");//通讯者删除函数的调用Delete(head);//删除结点break;case 4:printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); printf("\n");printf(" 通讯录信息的查询"); printf("\n");printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); printf("\n");//通讯者查询函数的调用p=research(head);if(p!=NULL){printf("编号姓名办公室电话手机号码邮箱");putchar('\n');printf("%-5s\t",p->data.num);printf("%-10s\t",p->);printf("%-10s\t",p->data.phone);printf("%-10s\t",p->data.call);printf("%-15s\t\n",p->data.e_mail);printf("\n");}elseprintf("对不起没有您要查询者的信息\n");break;case 5:printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");printf("\n");printf(" 通讯录的输出");printf("\n");printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");printf("\n");//通讯录链表输出函数调用print_list(head);break;case 6:{char c=getchar();char b[5];printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");printf("\n");printf(" 通讯录的修改");printf("\n");printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");printf("\n");Change(head,b);}break;case 0:Saveandfree(); /*保存并释放内存*/exit(0); break;}}第三步是模块的分步处理,其中分为通讯录链表的建立、插入、删除、查询、输出、修改、退出。

相关文档
最新文档