手机通讯录系统课程设计报告
通讯录管理系统课程设计报告
通讯录管理系统课程设计报告一、课程设计背景随着信息化时代的到来,通讯录管理系统已经成为了人们日常生活中必不可少的一部分。
在这个快节奏的社会中,人们需要随时随地地获取和管理自己的联系人信息。
因此,设计一个高效、方便、易用的通讯录管理系统就显得尤为重要。
二、需求分析1.功能需求(1)用户注册与登录:用户可以通过注册账号并登录到系统中。
(2)通讯录添加:用户可以添加联系人,包括姓名、电话号码、电子邮件等信息。
(3)通讯录查询:用户可以根据姓名或电话号码等信息查询特定联系人。
(4)通讯录修改:用户可以对已有联系人信息进行修改。
(5)通讯录删除:用户可以删除指定的联系人。
2.非功能需求(1)易用性:系统应该具有良好的界面设计和操作逻辑,使用户能够快速上手使用。
(2)安全性:系统应该具有安全防护措施,保护用户的数据不被非法获取或篡改。
(3)稳定性:系统应该具有高可靠性和稳定性,确保在任何情况下都能正常运行。
三、技术选型本次课程设计采用Java语言进行开发,使用MySQL数据库作为数据存储后端。
前端采用Java Swing框架进行设计,实现用户界面的构建和交互。
后端采用JDBC技术进行与数据库的交互。
四、系统设计1.系统架构本系统采用MVC(Model-View-Controller)架构模式,将业务逻辑、数据存储和用户界面分离开来,提高了代码的可维护性和可扩展性。
2.模块设计(1)用户管理模块:实现用户注册、登录等功能。
(2)通讯录管理模块:实现通讯录添加、查询、修改、删除等功能。
(3)数据存储模块:负责与数据库进行交互,实现数据的持久化存储。
五、系统实现1.前端实现本系统采用Java Swing框架进行开发,通过调用Swing组件库中的各种控件来构建用户界面。
其中包括登录窗口、注册窗口、主窗口等界面。
2.后端实现本系统采用JDBC技术进行与MySQL数据库的交互。
通过编写SQL语句来完成对数据库中表格的增删改查操作,并将结果返回给前端界面显示。
通讯录管理系统课程设计报告系统存储结构
通讯录管理系统课程设计报告系统存储结构一、引言通讯录管理系统是一种方便快捷地存储和管理联系人信息的应用程序。
在该系统中,数据的存储结构至关重要,它直接关系到系统的性能和稳定性。
本文将介绍通讯录管理系统的系统存储结构设计,包括数据的组织方式、存储介质选择等内容。
二、存储结构设计1. 数据的组织方式在通讯录管理系统中,联系人信息是系统中最主要的数据之一。
为了高效地存储和管理这些信息,我们选择采用数据库的方式进行组织。
数据库将联系人信息按照一定的结构进行组织和存储,方便系统对数据的检索和更新。
2. 数据库的选择在选择数据库时,我们考虑到系统的使用特点和性能要求,最终选择了关系型数据库。
关系型数据库具有良好的数据一致性和完整性,能够满足系统的数据管理需求。
同时,支持 SQL 查询语言的特性也使得对数据进行灵活的操作成为可能。
3. 数据表设计在关系型数据库中,数据是以表的形式进行存储的。
针对通讯录管理系统的需求,我们设计了以下几张表:•用户表:用于存储系统的用户信息,包括用户名、密码等;•联系人表:用于存储用户的联系人信息,包括姓名、电话号码、邮箱地址等;•分组表:用于将联系人进行分类管理,方便用户对联系人信息进行组织。
每张表之间通过外键进行关联,确保数据的一致性和完整性。
三、存储介质选择除了数据库存储外,系统还需要选择适当的存储介质来保存一些系统配置信息和用户的登录状态等数据。
我们选择了文件系统作为存储介质,将这些数据以文件的形式进行存储。
四、存储结构的优化为了提高系统的性能和响应速度,我们对存储结构进行了一定的优化。
主要包括以下几点:•索引设计:对关键字段建立索引,加快检索速度;•归档策略:定期对系统中的数据进行归档,减少存储空间的占用;•缓存机制:使用缓存技术对频繁访问的数据进行缓存,减少数据库访问的频率。
五、总结系统存储结构的设计对于通讯录管理系统的性能和稳定性具有重要影响。
通过合理选择数据库和存储介质,并对存储结构进行优化,可以有效提高系统的用户体验和响应速度。
手机通讯录安卓课程设计报告书
XX科技大学计算机科学与工程学院智能终端系统及应用开发课程设计报告题目:手机通讯录学号:********班级:********姓名:********指导老师:********绪论随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。
因此,移动终端的应用软件和需要的服务将会有很大的发展空间。
在Google和Android手机联盟的共同推动下,Android在众多手机操作系统中脱颖而出,受到广大消费者的欢迎。
手机通讯录作为手机的基本功能之一,每天我们都在频繁地使用着。
根据手机功能使用调查显示,有9成以上的消费者使用手机通讯录功能。
随着手机通讯录功能的不断加强与完善,手机通讯录对于人们的意义,已不仅仅像记事簿一样显示通讯地址,而是向着个性化、人性化的方向发展[4]。
通讯录从无到有,从英文到中文,经过了十几年的发展历程,今后的发展趋势就是从通讯录发展为名片夹,也就是在一个人名下,可以存储座机、手机、单位、地址、电子邮件等内容。
这种名片夹在电话薄的基础上,大大丰富了内容,同时结构也发生了革命性变化,而且随着手机的发展,相信更优秀的通讯录会越来越受到社会各层人士的喜爱。
一、课程设计目的智能终端系统及应用开发课程设计是计算机相关专业的一个综合性实践教学环节,是学习完《智能终端系统及应用开发》课程后进行的一次全面的综合练习。
其目的在于促进学生复习和巩固Android 应用技术,加深对软件设计方法、软件设计技术和设计思想的理解,并能运用所学Android 设计知识,通过本课程设计让学生进行简单Android 应用软件的开发,掌握软件设计的方法和面向对象程序设计的基本技术,提高学生在软件开发方面的综合应用能力。
二、课程设计内容通过对Android技术的相关研究,了解Android源码实现原理以及过程,从而设计出一款能够使用的手机通讯录。
这款手机通讯录实现的相关内容如下:1.简洁、实用的操作界面。
手机通讯录系统课程设计
手机通讯录系统课程设计一、课程目标知识目标:1. 让学生理解手机通讯录系统的基本概念,掌握其数据结构及存储方式;2. 使学生掌握编程语言中与手机通讯录系统相关的常用语法和功能;3. 引导学生了解手机通讯录系统的实际应用场景,认识到其重要性。
技能目标:1. 培养学生运用所学知识设计和实现一个简单的手机通讯录系统的能力;2. 提高学生分析问题、解决问题的能力,使其能够针对手机通讯录系统进行优化和改进;3. 培养学生的团队协作能力,使其能够在小组合作中发挥自己的优势,共同完成任务。
情感态度价值观目标:1. 培养学生对计算机科学和编程的兴趣,激发其学习热情;2. 引导学生认识到手机通讯录系统在生活中的广泛应用,增强其实用主义价值观;3. 培养学生的创新意识,使其敢于尝试新思路,勇于挑战困难。
课程性质:本课程为实践性较强的课程,结合理论教学和实际操作,使学生能够在实践中掌握知识。
学生特点:学生处于高年级阶段,已具备一定的编程基础,对手机通讯录系统有一定了解。
教学要求:教师应注重理论与实践相结合,关注学生的个体差异,提高学生的动手实践能力。
在教学过程中,将目标分解为具体的学习成果,便于后续教学设计和评估。
二、教学内容1. 手机通讯录系统概述:介绍手机通讯录系统的基本概念、功能及在实际应用中的重要性。
- 教材章节:第3章 数据结构与应用,第4节 手机通讯录系统2. 数据结构及存储方式:讲解手机通讯录系统中常用的数据结构(如链表、二叉树等)及其存储方式。
- 教材章节:第2章 线性表与树,第3章 数据结构与应用3. 编程语言实现:运用所学编程语言(如C语言、Python等)实现手机通讯录系统的功能。
- 教材章节:第1章 程序设计基础,第5章 编程语言实例分析4. 手机通讯录系统功能设计:- 添加、删除、查找和修改联系人信息- 教材章节:第4章 算法设计与分析,第6章 数据库原理与应用5. 系统优化与改进:分析现有手机通讯录系统的不足,提出优化方案并进行改进。
手机通讯录课程设计
手机通讯录课程设计一、课程目标知识目标:1. 学生理解手机通讯录的基本概念,掌握通讯录的存储与管理工作原理。
2. 学生掌握在手机中新建、编辑、删除和查找联系人等操作方法。
3. 学生了解手机通讯录的安全性和隐私保护措施。
技能目标:1. 学生能够独立在手机中新建、编辑和删除联系人,实现通讯录的有效管理。
2. 学生学会使用手机通讯录中的搜索功能,快速找到所需联系人。
3. 学生能够对通讯录进行备份和恢复,确保数据的安全性。
情感态度价值观目标:1. 学生认识到手机通讯录在生活中的重要性,培养良好的通讯录管理习惯。
2. 学生在操作过程中,树立保护个人隐私和数据安全的意识。
3. 学生通过学习手机通讯录,增强对现代信息技术的兴趣和认识,培养积极向上的学习态度。
课程性质分析:本课程为信息技术课程,结合学生日常生活实际,以手机通讯录为教学载体,旨在提高学生的信息素养和实际操作能力。
学生特点分析:学生处于中学阶段,对手机操作有一定的基础,好奇心强,善于接受新事物。
但部分学生对通讯录管理重视程度不够,需引导培养其管理意识。
教学要求:1. 结合学生特点,注重理论与实践相结合,提高学生的实际操作能力。
2. 强化信息安全意识,培养学生的责任感。
3. 关注个体差异,给予每个学生充分的实践机会,确保学习成果的达成。
二、教学内容1. 通讯录基本概念:介绍手机通讯录的定义、功能及其在日常生活中的重要性。
- 教材章节:第二章第二节“手机通讯录概述”2. 通讯录操作方法:- 新建联系人:姓名、电话、邮箱、地址等信息的填写与保存。
- 编辑联系人:修改已保存联系人的信息。
- 删除联系人:删除不再需要的联系人。
- 查找联系人:使用搜索功能快速查找指定联系人。
- 教材章节:第二章第三节“通讯录的基本操作”3. 通讯录安全与隐私保护:- 备份通讯录:学习如何将通讯录数据进行备份。
- 恢复通讯录:掌握如何恢复已备份的通讯录。
- 隐私保护:了解通讯录隐私设置,提高数据安全性。
c手机通讯录课程设计
c手机通讯录课程设计一、课程目标知识目标:1. 学生能理解并掌握手机通讯录的基本概念和功能。
2. 学生能了解手机通讯录在生活中的实际应用,如快速查找联系人、添加与删除联系人等。
3. 学生能了解手机通讯录的存储方式及其安全性。
技能目标:1. 学生能熟练操作手机通讯录,包括新建、编辑、删除联系人等功能。
2. 学生能运用手机通讯录进行快速拨号,提高沟通效率。
3. 学生能通过手机通讯录导入和导出联系人,实现不同设备间的信息同步。
情感态度价值观目标:1. 学生能认识到手机通讯录在人际交往中的重要性,增强个人信息管理的意识。
2. 学生在操作手机通讯录的过程中,培养耐心、细致的良好习惯。
3. 学生通过学习手机通讯录,提高对现代通信技术的认识,增强信息安全意识。
本课程针对初中年级学生,结合课程性质、学生特点和教学要求,将目标分解为具体的学习成果。
在教学过程中,注重理论与实践相结合,让学生在实际操作中掌握知识,提高技能,培养情感态度价值观。
通过本课程的学习,使学生能够更好地利用手机通讯录,提高生活品质和沟通效率。
二、教学内容1. 手机通讯录概述- 了解手机通讯录的基本概念、功能及在生活中的应用。
- 熟悉手机通讯录的界面及基本操作。
2. 联系人的管理- 新建、编辑、删除联系人。
- 设置联系人头像、分组、备注等信息。
3. 拨号与短信- 使用手机通讯录快速拨号。
- 发送短信给通讯录中的联系人。
4. 通讯录的导入与导出- 学习导入和导出联系人,实现设备间信息同步。
- 了解不同手机品牌间通讯录的兼容性问题。
5. 通讯录安全与隐私- 了解手机通讯录的存储方式。
- 学习如何保护通讯录隐私,防止信息泄露。
教学内容根据课程目标进行科学性和系统性组织,按照以下教学大纲进行安排:第一课时:手机通讯录概述及基本操作。
第二课时:联系人的管理(新建、编辑、删除)。
第三课时:联系人信息的设置(头像、分组、备注)。
第四课时:拨号与短信功能的应用。
通讯录系统课程设计
通讯录系统课程设计一、课程目标知识目标:1. 让学生掌握通讯录系统的基本概念,了解其在日常生活和工作中的应用。
2. 使学生了解并掌握通讯录系统中数据的存储、检索和更新等基本操作。
3. 帮助学生理解通讯录系统的数据结构及其优势。
技能目标:1. 培养学生运用所学知识设计和实现一个简单的通讯录系统。
2. 培养学生运用编程语言实现通讯录系统中数据的增删改查等操作。
3. 提高学生分析问题、解决问题的能力,能够针对通讯录系统提出优化建议。
情感态度价值观目标:1. 培养学生主动探索新知识、积极思考的学习态度,增强他们对信息技术的兴趣和热情。
2. 培养学生的团队协作精神,学会在项目合作中发挥个人优势,共同完成任务。
3. 增强学生的信息素养,使他们意识到信息技术在生活中的重要性,并能够遵守相关法律法规,保护个人隐私。
分析课程性质、学生特点和教学要求:1. 课程性质:本课程为信息技术课程,注重实践操作和理论知识相结合。
2. 学生特点:学生为初中年级,已具备一定的计算机操作基础,对新鲜事物充满好奇心。
3. 教学要求:教师应注重启发式教学,引导学生主动参与课堂,关注学生个体差异,提高教学效果。
二、教学内容1. 通讯录系统基本概念:介绍通讯录的定义、作用及其在生活中的应用。
教材章节:第一章第二节2. 通讯录系统数据结构:讲解通讯录中数据的组织方式,如列表、树等。
教材章节:第二章第一节3. 通讯录系统功能设计:分析通讯录系统所需实现的基本功能,如增加、删除、修改和查询联系人信息。
教材章节:第三章第一节4. 编程语言实现通讯录系统:运用所学编程语言(如Python、C++等),实现通讯录系统的基本功能。
教材章节:第四章5. 通讯录系统优化与扩展:探讨如何优化通讯录系统性能,如提高查询效率、扩展系统功能等。
教材章节:第五章6. 项目实践:分组进行项目实践,设计并实现一个简易的通讯录系统。
教材章节:第六章教学内容安排与进度:第一周:通讯录系统基本概念、数据结构第二周:通讯录系统功能设计第三周:编程语言实现通讯录系统第四周:通讯录系统优化与扩展第五周:项目实践与展示、评价三、教学方法1. 讲授法:针对通讯录系统基本概念、数据结构等理论知识,采用讲授法进行教学,帮助学生建立完整的知识体系。
课程设计手机通讯录的设计
课程设计手机通讯录的设计一、课程目标知识目标:1. 让学生掌握手机通讯录的基本概念和功能,理解其在日常生活和工作中的重要性。
2. 学习通讯录的信息存储、检索和管理方法,了解不同手机操作系统的通讯录应用差异。
3. 掌握设计手机通讯录的基本原则和流程,了解界面布局、用户体验等相关知识。
技能目标:1. 培养学生运用所学知识分析和解决实际问题的能力,能独立设计出界面友好、功能实用的手机通讯录。
2. 提高学生团队协作和沟通能力,学会在项目中进行有效分工与合作。
3. 培养学生运用信息技术手段进行资料搜集、整理和分析的能力。
情感态度价值观目标:1. 培养学生关注社会发展、关注新技术,提高对信息科技的兴趣和热情。
2. 增强学生的创新意识和实践能力,鼓励他们勇于尝试,不断优化设计方案。
3. 培养学生尊重他人意见,学会倾听、理解、接纳和包容,形成良好的团队合作精神。
课程性质:本课程为信息技术课程,结合实际应用,注重培养学生的实践操作能力和创新思维。
学生特点:学生具备一定的信息技术基础,对新事物充满好奇,喜欢动手实践,但需加强对知识整合和应用的能力。
教学要求:结合课本内容,以实际操作为主,注重理论与实践相结合,提高学生的综合运用能力。
通过本课程的学习,使学生能够将所学知识应用于实际生活,提高个人信息管理能力。
二、教学内容1. 手机通讯录概述- 通讯录的定义与作用- 不同手机操作系统通讯录应用的特点2. 通讯录信息管理- 联系人信息的录入、编辑、删除和查找- 分类与标签管理- 云同步与备份3. 设计原则与流程- 界面设计原则:简洁、易用、美观- 用户体验:操作便捷、功能明确- 设计流程:需求分析、界面设计、功能实现、测试优化4. 实践操作- 运用设计工具进行界面布局和原型设计- 功能实现:添加、编辑、删除联系人等- 项目分工与协作5. 评估与优化- 评估标准:功能完整性、界面美观度、操作便捷性- 优化方向:界面调整、功能完善、用户体验改进教学内容依据课程目标,结合课本相关章节,注重理论与实践相结合。
通讯录管理系统课程设计报告
通讯录管理系统课程设计报告一、引言通讯录管理系统是一种用于存储和管理联系人信息的应用程序,它可以帮助用户方便地记录和查找各种联系人信息。
在本课程设计报告中,我们将讨论通讯录管理系统的设计和实现过程,以及系统的功能特点和操作流程。
二、需求分析通讯录管理系统需要具备以下基本功能: 1. 添加联系人信息:用户可以输入姓名、电话号码、电子邮件地址等信息来添加新的联系人。
2. 查找联系人信息:用户可以通过姓名或电话号码等关键词来查找已添加的联系人信息。
3. 修改联系人信息:用户可以对已有联系人信息进行修改和更新。
4. 删除联系人信息:用户可以选择删除不需要的联系人信息。
5. 显示所有联系人信息:系统可以按照一定的格式将所有联系人信息展示给用户。
三、系统设计1. 数据结构为了存储联系人信息,我们可以使用一个包含姓名、电话号码、电子邮件地址等字段的结构体来表示每个联系人。
可以使用链表或数组来组织所有联系人信息。
2. 模块设计通讯录管理系统可以划分为以下几个模块: - 添加联系人模块:实现添加新联系人信息的功能。
- 查找联系人模块:实现根据关键词查找联系人信息的功能。
- 修改联系人模块:实现对已有联系人信息进行修改和更新的功能。
- 删除联系人模块:实现删除不需要的联系人信息的功能。
- 显示联系人模块:实现将所有联系人信息按照一定格式展示给用户的功能。
3. 用户界面设计用户界面应该简洁明了,包括各个功能的按钮或选项,以及输入框和显示信息的区域。
用户应该能够方便地进行各种操作和查看联系人信息。
四、系统实现1. 数据存储可以使用文件来存储联系人信息,也可以使用数据库来进行数据持久化。
2. 界面实现可以使用图形界面或命令行界面来实现用户交互功能,不同的界面设计会影响用户体验。
3. 功能实现根据需求分析中的功能,实现各个模块的功能代码,确保系统可以正确地完成相关操作。
五、功能测试在系统实现完毕后,需要进行功能测试,确保系统的各个功能都能正常运行,并且符合需求。
通讯录管理系统课程设计报告总结
通讯录管理系统课程设计报告总结一、引言通讯录管理系统作为一种常见的信息管理工具,在日常生活中发挥着重要作用,能够帮助人们方便地管理和查找联系人信息。
本次课程设计旨在设计和实现一个简单的通讯录管理系统,运用所学的软件开发技术和方法,提升学生的实际项目开发能力。
二、需求分析本系统主要包括以下功能模块: 1. 用户登录和注册:用户可以通过用户名和密码登录系统,也可以注册新用户; 2. 通讯录管理:用户可以添加、删除、修改联系人信息,并可以按照姓名、电话号码等字段进行排序和搜索; 3. 导入和导出:用户可以将通讯录数据导出到文件中,也可以从文件中导入数据; 4. 权限管理:管理员可以对用户进行管理,设定不同用户的权限和角色。
三、设计与实现本系统采用Python语言进行开发,使用了Django框架进行Web应用的搭建,并结合SQLite数据库实现数据的存储和管理。
系统的前端页面采用HTML、CSS和JavaScript进行设计,实现了用户友好的界面交互。
在系统的设计过程中,我们遵循了软件工程的相关原则和方法,包括需求分析、概要设计、详细设计、编码和测试等阶段。
通过团队合作,我们按照功能模块分工合作,每位成员负责不同的部分,最终将各部分整合在一起进行测试和优化。
四、测试与优化在系统开发过程中,我们进行了严格的测试工作,包括单元测试、集成测试和系统测试等,确保系统的功能正常运行和性能优秀。
在测试过程中,我们发现了一些问题并对其进行了优化,提高了系统的稳定性和用户体验。
五、总结与展望通过本次通讯录管理系统课程设计,我们深入了解了软件开发的整个流程,提升了团队协作能力和项目管理能力。
在未来的学习和工作中,我们将继续探索软件开发领域,不断提高自己的技术水平,为社会和行业做出更多贡献。
以上是本次通讯录管理系统课程设计的报告总结,希望能够对读者有所启发和帮助。
感谢大家的支持与关注!。
安卓课程设计--手机通讯录
通信综合课程设计报告——手机通讯录姓名:合作者:专业班级:通信1002学号: 31006010指导老师:设计日期: 2014.01.08~2014.01.10第一章开发内容概述随着移动通信与Internet向移动终端的普及,网络和用户对移动终端的要求越来越高,而Symbian,Windows Mobile,PalmOS等手机平台过于封闭,不能很好的满足用户的需求,因此市场迫切需要一个开发性很强的平台。
经过多年的发展,第三代数字通信(3G)技术活动了广泛的接受,它为移动终端用户带来了更快的数据传输速率。
随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。
因此,移动终端的应用软件和需要的服务将会有很大的发展空间。
Google为此与2007年11月推出了一个专为移动设备设计的软件平台——Android。
Android 是一套真正意义上的开发性的移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。
Android 是由Linux+Java构成的开源软件,允许所有厂商和个人在其基础上进行开发。
Android平台的开放性等特点既能促进技术(包括平台本身)的创新,又有助于降低开发成本,还可以是运营商能非常方便地制定自己的特色化的产品。
因此,它具有很大的市场发展潜力。
Android(Google公司)是Google开发的基于Linux平台的开源手机操作系统。
它包括操作系统、用户界面和应用程序——移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。
谷歌与开放手机联盟合作开发了 Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达和 T-Mobile 在内的 30 多家技术和无线应用的领军企业组成。
优点:具备触摸屏、高级图形显示和上网功能,界面强大,可以说是一种融入全部Web应用的单一平台。
缺点:由于时时刻刻都需要和网络进行连接,因此在手机的能耗方面控制就较差,导致待机能力不足;又由于其开源性,过分依赖开发商,缺少标准配置。
c语言课程设计通讯录管理系统课程设计报告
c语言课程设计通讯录管理系统课程设计报告一、教学目标本课程旨在通过学习C语言,使学生掌握通讯录管理系统的开发过程,培养学生的编程能力和逻辑思维能力。
具体目标如下:1.知识目标:学生能够理解C语言的基本语法和数据结构,掌握函数的定义和调用,了解面向过程的编程思想。
2.技能目标:学生能够使用C语言编写简单的程序,具备解决实际问题的能力,能够独立完成一个通讯录管理系统的开发。
3.情感态度价值观目标:学生通过课程学习,能够培养对编程的兴趣和热情,增强自我学习的动力,提高团队协作的能力。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、函数的定义和调用,以及面向过程的编程思想。
具体安排如下:1.C语言的基本语法:介绍变量、常量、运算符、表达式等基本概念。
2.数据结构:介绍整数、浮点数、字符等数据类型的使用,以及数组、指针等数据结构。
3.函数的定义和调用:介绍函数的声明、定义和调用,以及函数的参数传递和返回值。
4.面向过程的编程思想:介绍程序的执行流程、循环结构、条件判断等编程控制语句。
三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法,以激发学生的学习兴趣和主动性。
具体方法如下:1.讲授法:通过讲解C语言的基本语法、数据结构、函数的定义和调用等知识,使学生掌握课程的基本概念。
2.案例分析法:通过分析实际案例,让学生了解编程思想,培养学生的实际操作能力。
3.实验法:安排实验室实践环节,让学生动手编写程序,提高学生的实际编程能力。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。
具体资源如下:1.教材:选用权威、实用的C语言教材,为学生提供系统的学习资料。
2.参考书:推荐学生阅读一些优秀的编程书籍,丰富学生的知识储备。
3.多媒体资料:制作课件、视频等多媒体资料,提高课堂的教学效果。
4.实验设备:提供充足的计算机设备,确保学生能够进行实验和实践。
五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分,以全面客观地评价学生的学习成果。
通讯录管理系统课程设计报告Java
通讯录管理系统课程设计报告Java1. 简介通讯录管理系统是一种方便用户存储和管理联系人信息的工具。
本课程设计将使用Java语言开发一个简单的通讯录管理系统,实现对联系人信息的增删改查功能。
通过本项目的实践,学习者将掌握Java编程语言的基础知识和面向对象编程的技巧。
2. 功能需求通讯录管理系统应包含以下功能: - 添加联系人信息:用户可以输入联系人的姓名、电话号码、邮箱等信息添加到通讯录中。
- 显示所有联系人信息:系统能够展示所有已保存在通讯录中的联系人信息。
- 查找联系人信息:用户可以通过姓名或电话号码查找特定联系人的信息。
- 修改联系人信息:用户可以对已保存的联系人信息进行修改。
- 删除联系人信息:用户可以删除通讯录中的联系人信息。
实现以上功能需要设计相应的数据结构和算法,以及编写用户交互界面。
3. 技术实现3.1 数据结构在Java中,可以使用ArrayList或HashMap等数据结构来存储联系人信息。
ArrayList适用于有序的联系人列表,而HashMap适用于根据键值快速查找联系人信息。
3.2 用户交互界面用户交互界面可以通过Java的Swing或JavaFX等GUI工具包来实现。
设计一个简洁明了的界面,包含菜单栏、输入框、按钮等组件,以方便用户操作。
3.3 功能实现•添加联系人信息:用户输入信息后,将联系人信息添加到数据结构中。
•显示所有联系人信息:遍历数据结构,将所有联系人信息展示在界面上。
•查找联系人信息:根据用户输入的查询条件,在数据结构中查找对应的联系人信息。
•修改联系人信息:根据用户输入的修改信息,更新数据结构中相应的联系人信息。
•删除联系人信息:根据用户输入的删除条件,从数据结构中移除对应的联系人信息。
4. 总结通讯录管理系统是一个简单实用的应用程序,能够帮助用户有效管理联系人信息。
通过本课程设计,学习者将学习如何使用Java语言开发基本的应用程序,掌握面向对象编程的基本原理和技巧。
c手机通讯录课程设计
c手机通讯录课程设计一、教学目标本课程旨在让学生掌握手机通讯录的基本操作和使用技巧,培养学生对现代通讯技术的认识和运用能力。
具体目标如下:1.知识目标:使学生了解手机通讯录的功能、结构及其在日常生活和工作中的应用;掌握通讯录的基本操作,如添加、删除、修改联系人信息等。
2.技能目标:培养学生能够独立设置手机通讯录,熟练运用通讯录进行人际沟通;能够根据实际需要,调整通讯录的排序和筛选方式,提高使用效率。
3.情感态度价值观目标:培养学生对现代通讯技术的热爱和好奇心,增强信息时代下的自主学习能力;培养学生尊重他人隐私,合理使用通讯工具的良好习惯。
二、教学内容本课程的教学内容主要包括以下几个部分:1.手机通讯录的基本概念和功能介绍;2.手机通讯录的界面布局和操作方法;3.联系人信息的添加、删除和修改;4.通讯录的排序、筛选和搜索技巧;5.手机通讯录在日常生活和工作中的应用实例。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行:1.讲授法:讲解手机通讯录的基本概念、功能和操作方法;2.演示法:展示通讯录的使用实例,让学生直观地了解操作过程;3.实践操作法:让学生亲自动手操作,巩固所学知识;4.小组讨论法:分组讨论通讯录在实际生活中的应用,分享使用心得。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:选用权威、实用的手机通讯录教材,为学生提供系统的学习资料;2.参考书:提供相关的手机通讯录使用指南,丰富学生的学习资源;3.多媒体资料:制作精美的PPT,生动展示通讯录的操作过程;4.实验设备:准备手机等实验设备,便于学生实践操作。
五、教学评估本课程的教学评估将采取多元化、全过程的方式进行,以确保评估的客观性和公正性。
具体评估方式如下:1.平时表现:通过观察学生在课堂上的参与程度、提问回答、小组讨论等表现,评估学生的学习态度和积极性。
2.作业:布置实践性较强的作业,让学生运用所学知识进行实际操作,评估学生的掌握程度。
通讯录系统课程设计实验报告
目录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 课程设计一、课程目标知识目标:1. 学生能理解手机通讯录的基本概念,掌握通讯录的信息存储、检索和管理方式。
2. 学生能够描述手机通讯录的存储结构,了解联系人信息的组成和分类。
3. 学生掌握使用手机自带通讯录软件进行联系人添加、删除、修改和查询的操作方法。
技能目标:1. 学生能够独立操作手机通讯录软件,高效地管理联系人信息。
2. 学生通过实际操作,提高信息处理能力和解决问题的能力。
3. 学生通过小组合作,培养团队协作能力和沟通技巧。
情感态度价值观目标:1. 学生培养对个人信息保护的意识,尊重他人隐私。
2. 学生通过学习手机通讯录管理,认识到科技在日常生活中的重要作用,激发对信息技术的兴趣。
3. 学生在学习过程中,培养积极的学习态度,树立正确的价值观。
课程性质:本课程为信息技术课程,以实践操作为主,注重培养学生的动手能力和信息素养。
学生特点:六年级学生具备一定的手机操作基础,对新鲜事物充满好奇,喜欢动手实践。
教学要求:教师需关注学生个体差异,因材施教,注重理论与实践相结合,提高学生的信息处理能力和团队协作能力。
在教学过程中,关注学生的情感态度,引导他们树立正确的价值观。
通过对课程目标的分解,使学生在学习过程中达到预期的学习成果,为后续的教学设计和评估提供依据。
二、教学内容1. 手机通讯录概述- 通讯录的定义与功能- 通讯录在生活中的应用2. 手机通讯录的存储结构与信息管理- 联系人信息的组成与分类- 通讯录存储结构的特点3. 手机通讯录软件操作- 联系人添加、删除、修改和查询方法- 联系人信息的导入与导出- 通讯录分组管理与搜索功能4. 个人信息保护与隐私安全- 信息保护意识培养- 隐私安全的重要性与措施5. 实践操作与案例分析- 实际操作手机通讯录软件,进行联系人管理- 分析通讯录管理中的典型问题,探讨解决方案6. 小组合作与展示- 分组讨论,共同完成通讯录管理任务- 各组展示成果,分享经验与心得教学内容安排与进度:第一课时:手机通讯录概述、存储结构与信息管理第二课时:手机通讯录软件操作、个人信息保护与隐私安全第三课时:实践操作与案例分析、小组合作与展示教材章节:本教学内容与教材中“手机通讯录管理”章节相关,涵盖该章节的主要内容。
手机通讯录安卓课程设计
手机通讯录安卓课程设计1. 选题背景随着移动智能终端的普及,手机通讯录成为人们日常生活中必不可少的功能之一。
在这个背景下,本课程设计选择开发一个基于安卓平台的手机通讯录应用程序。
2. 课程设计目标通过本课程设计,学生将能够掌握以下技能:•掌握安卓应用程序开发的基本流程和技术•熟悉手机通讯录应用程序的功能和实现方式•能够使用Java语言编写安卓应用程序•能够使用Android Studio开发工具进行安卓应用程序的开发和调试3. 课程设计内容3.1 基本功能实现本课程设计的手机通讯录应用程序需要实现以下基本功能:•添加联系人•删除联系人•修改联系人信息•显示联系人列表•根据姓名或电话号码搜索联系人•拨打电话或发送短信3.2 扩展功能实现为了提高应用程序的实用性和扩展性,本课程设计还需要实现以下扩展功能:•显示联系人头像•同步联系人数据到云端或服务器•分组管理联系人•自定义联系人信息字段3.3 课程设计步骤本课程设计的实验步骤如下:1.环境搭建:学生需要安装Java开发环境和Android Studio开发工具,并配置好相关环境变量和SDK版本。
2.项目创建:学生需要创建一个新的安卓项目,并设置好项目的基本参数和开发环境。
3.页面设计:学生按照设计要求,设计应用程序的主界面和子界面,并添加相应的控件。
4.数据库设计:学生需要设计和创建联系人数据库,并编写相关的CRUD操作方法。
5.功能实现:学生需要编写相应的Java代码,实现联系人管理功能的实现。
6.调试测试:学生需要使用Android Studio工具对编写好的代码进行调试和测试,确保应用程序的稳定性和可靠性。
7.导出发布:学生需要将应用程序打包成APK文件,并发布到应用商店或其他渠道。
4. 课程设计评价学生的课程成绩将综合考虑以下方面:•功能实现的完整性和准确性•页面设计的美观性和用户体验•代码的编写规范和可读性•调试和测试的实用性和有效性•实验报告的详尽和清晰程度5.本课程设计旨在培养学生的安卓开发能力和实际编程经验,通过设计实现一个手机通讯录应用程序,让学生初步掌握安卓应用程序的开发流程和技术,并锻炼学生的编程思维和实际应用能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程名称: 程序设计基础课程设计 学院名称: 计算机科学与工程学院 专 业: 计算机科学与技术课程设计报告 装 订线目录一、绪论 (3)二、设计内容 (4)1、选题 (4)2、系统功能 (4)3、应用到的技术 (4)三、设计要求 (4)四、设计环境 (5)1、操作系统 (5)2、开发工具 (5)3、PC机配置 (5)五、系统结构图 (5)六、功能实现 (6)1、系统运行 (6)2、添加联系人 (6)3、修改联系人 (7)4、删除联系人 (8)5、查找联系人 (8)6、查看所有联系人 (8)7、对联系人在文件中的存储位置进行排序 (9)8、系统运行结束 (9)七、遇到的问题和解决的方法 (9)八、设计心得 (10)九、参考文献 (11)十、附件 (12)1、头文件 (12)2、主函数 (12)3、函数实现文件 (13)需求分析在这个信息化的时代,手机已成为继固话之后最为通俗的交流工具。
在这个人与人关系愈加密切的时代,“通讯”成了生活中的必需品。
这就有这么一个系统记录下人与人之间的多样联系方式——手机通讯系统。
通过系统记录下对方的联系方式,既减轻了大脑的负担,又不在受各种条件的约束,做到便捷随身管理相关的联系信息,摆脱了传统电话簿,名片的累赘。
从长远利益来看,可是意义重大的环保之举。
根据市场需求,手机通讯录管理系统所记录的信息一般分为个人、商业、办公三类。
清晰了机主的联系方向。
针对性的分门别类,使系统具有了方便了机主的存储和快速查阅优势功能,大大减少了在电话簿,名片上机械翻阅查找过程的时间。
于此同时又根据手机随身携带的特殊性,在一定程度上比一般的制作文件又其次,因为手机是随身携带的通讯工具,这与记事本相比将在一定程度上保障联系人信息的安全性,相对避免了个人隐私信息外泄从而带来的损失。
综上所述,手机通讯录管理系统是一个高效、实时、绿色环保的管理系统。
友元重载常函数构造函数析构判断数据链表手机通讯录管理系统一、主要功能模拟手机通信录管理系统,要求:(1)查看功能:选择此功能时,列出下列三类选择:A 办公类B 个人类C 商务类,当选中某类时,依次显示出此类所有数据中的姓名和电话号码(2)增加功能:能录入新数据(包括:姓名、电话号码、分类(可选项有:A 办公类 B 个人类 C 商务类)、电子邮件)。
♦当录入了重复的姓名和电话号码时,提示数据录入重复并取消录入;♦通信录容量限定在15条以内。
♦当存储信息超出存储空间,提示存储空间已满,不能再录入新数据;♦录入的新数据能按递增的顺序自动进行条目编号。
(3)拔号功能:能显示出通信录中所有人的姓名,当选中某个姓名时,屏幕上模拟打字机的效果依次显示出此人的电话号码中的各个数字,并伴随相应的拔号声音。
(4)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改(5)删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。
1.查看功能2、本系统应具备以下七个功能模块:添加联系人信息、修改联系人信息、删除联系人信息、查询联系人信息、查看所有联系人信息、对联系人信息进行排序,退出保存。
(1) 添加联系人信息:将新得到的联系人信息添加到通讯录中,添加的信息有:序列号、姓名、昵称、性别、手机号码、家里电话、QQ和E-mail。
(2) 修改联系人信息:对已经保存的联系人信息进行修改,可以修改全部的信息也可以选择性的修改其中的某些项目。
(3) 删除联系人信息:对保存在通信录中的联系人信息进行删除。
(4) 查询联系人信息:通过联系人的姓名查询联系人的的全部通讯信息(5) 查看所有联系人信息:本功能将一次性的让机主看到通讯录中保存的所有联系人的所有通讯信息。
(6) 联系人信息排序:依据添加时给定的序列号对通讯录中的联系人信息进行排序。
(7) 保存:将添加的联系人通讯信息以.txt文本的形式保存起来,以备以后查询使用。
3、系统设计具体应用到的技术:(1) 结构、枚举类型的定义与使用;(2) 数组的定义和使用使用;(3) 程序的三种基本控制流程的综合、灵活运用;(4) 普通指针和数组指针的定义和使用;(5) 各类函数的定义和调用;(6) 文件的输入/输出;(7) 程序的调试。
二、设计要求1、在Visual C++控制台应用程序方式下设计课题。
2、设计的程序要求完成本次课程设计所规定的功能。
3、程序应具有一定的健壮性。
即程序必须具有必要的检查和出错处理,如在添加新联系人信息时检查输入的序列号是否相同。
删除、查询联系人信息时检查输入的姓名是否存在等。
三、设计环境1、操作系统:Windows XP Professional;2、开发工具:Microsoft Visual C++ 6.0;3、PC机的配置:CPU:Intel(R)Core(TM)2 T7100 @2.00Ghz;内存:1G;硬盘空间:120GB;显卡:128MB DDR3 NVIDIA(R) GeForce(R) 8400M GS 显卡;四、系统结构图添加联系人信息修改联系人信息删除联系人信息查询联系人信息查看所有联系人信息对联系人进行排序保存退出根据姓名删除根据姓名修改根据姓名修改根据序列号排序主菜单五、功能实现1、系统运行系统运行结果如图所示:2、添加联系人添加联系人信息运行界面如图所示:录入完一位联系人的相关信息后,会立刻给予显示,以供核对。
核对后敲击回车,将回到主菜单。
3、修改联系人修改联系人信息运行界面如图所示:当选择修改联系人信息菜单“2”时,会提示您输入要修改联系人的姓名,如果您姓名输入错误,则提示联系人不存在,如下图所示:此时,需重新选择菜单“2”,然后输入正确的姓名即可对联系人信息进行修改,需要修改的项目,选择菜单“y”不需要修改的项目选“n”,将直接进入下一个项目的修改。
4、删除联系人信息删除联系人信息运行界面如图所示:此时,输入你要删除的联系人的姓名即可,然后系统会提示你是否确认删除,“y”执行删除,“n”取消删除。
5、查询联系人查询联系人信息运行界面如图所示:输入你要查询的联系人的姓名,如果文件book.tet中有这位联系人的信息,将会显示出来;如果文件book.tet中没有这位联系人信息,系统将会提示你“联系人不存在”。
6、显示所有联系人显示所有联系人信息运行界面如图所示:当选择“5”菜单时,将会显示所有保存在book.txt文件中联系人的信息。
7、对联系人在文件中存储位置排序按序列号对联系人在book.txt文件中排序的运行界面如图所示:该功能主要是根据在添加联系人是给定的“序列号”,对保存在book.txt文件中的联系人信息进行排序,序列号小的排到前面,大的排到后面。
8、系统结束运行界面选择菜单“7”系统将提示“Press any key to continue”,此时按任意键系统运行结束。
六、遇到的问题和解决的方法1、不熟悉。
由于在本次课程设计之前长时间没有复习和使用visual C++,很对知识已经记忆模糊,甚至已经淡忘。
对于这种情况我做了这些工作:翻阅以前的课本熟悉本次课程设计所涉及和使用到的相关知识点,比如数组、数据指针、结构体和枚举类型等等。
其次就是在设计的过程中遇到自己不能解决的问题,请教其他同学和到图书馆查阅相关资料。
2、系统首次运行,在添加联系人信息时,联系人信息当中的手机号码、家里电话、地址、QQ和E-mail几个项目是始终显示第一位联系人的信息,而不能显示与姓名对应的联系人的通讯信息。
这个问题在请教老师后得知,是我在设计时忽略了添加新的联系人信息时必须考虑已经保存在文件中的已经添加的联系人信息,于是将代码“GetData(book)”改成“GetData(book+CurNum)”,问题得以解决。
3、当系统完成最初设计,执行修改联系人信息时,显示的是第一个联系人的通讯信息,并不是显示当前联系人的信息。
这个问题在系统最初运行的时候,作为设计人员的我并没有注意到,直到跟一位同学进行系统设计缺陷互查的时候才被发现。
经过仔细检查和查阅资料,发现了其中的错误所在。
显示当前信息的代码是“displayone(book+i)”,而我写成了“displayone(book)”,改正过来的系统成功实现显示当前联系人的通讯信息。
4、当book.txt文件中有联系人信息数据,程序运行,在读book.txt文件中的联系人信息数据时总出错。
研究了很久发现,是因为在最初设计时,我考虑将保存到book.txt文件的联系人信息中的各项目之间用顿号隔开以示区别,但在做读数据时我却没有对对应的设计,没有使用顿号,致使在读数据时出现错误。
七、设计小结课程设计是一次将理论知识运用于解决实际生活中所遇到的问题的实战是一次理解和深化理论知识,树立知识服务生活,知识服务经济发展的的理念。
在本次设计过程中,我通过查阅资料,以及调查身边的人进行系统需求分析,在此基础上建立系统模型,编写代码,进行调试。
过程是曲折的,有时候一个字母的大小写就要花上几个小时的时间去查找。
但正是这个过程让我了解了自己对这么语言的掌握程度,锻炼了我独立解决问题的能力,同时让我意识到严谨的态度对一个系统开发者的重要性。
学以致用,手机通讯录管理系统是我独立开发的第一个系统。
由于能力所限,这个系统还相对简单,且有可能存在一定的缺陷,但这并没有影响到我设计成功后的喜悦。
这是一个契机,给自己今后学习和工作指明了方向。
最后,衷心的感谢本次课程设计的罗烨指导老师,正因为老师的指点,使得我少走了很多弯路,同时授予了我很多作为设计人员应该有的正确理念和行为。
参考文献1 谭浩强著.C++程序设计.北京.清华大学出版社,20062 谭浩强主编.C++程序设计题解与上机指导.北京.清华大学出版社,20063 郑莉,董渊,张瑞峰著.C++语言程序设计(第3版).北京.清华大学出版社,20044 郑莉,董渊,张瑞峰主编.C++语言程序设计案例教程.北京.清华大学出版社,20045 洪永清,黄德才,吕丽民.面向对象建模与设计.北京.人民邮电出版社,19986 邵维忠,杨芙清.面向对象的系统分析.北京.清华大学出版社,19987 吴乃陵.C++程序设计实践教程(第2版).北京.高等教育出版社,20068 钱能.C++程序设计实验指导.北京.清华大学出版社,19999 严蔚敏等.数据结构(C++版).北京.清华大学出版社,199710 (美)Ivor Horton 著.李予敏译.C++入门经典(第3版).北京.清华大学出版社,2002附:本系统源程序1、头文件//book.h#ifndef BOOK_H#define BOOK_Hstruct Book{char No[9];char Name[9];char Nickname[9];char Sex[7];char Mobilenum[15];char Familynum[15];char Addr[30];char qq[10];char Email[15];};#endif2、主函数//主函数文件#include <iostream.h>#include <fstream.h>#include <iomanip.h>#include <string.h>#include "手机通讯录.h"int EnterChoice(); //输入选项void Init(); //数据文件初始化void Add(); //增加一个联系人信息void Display(); //显示所有联系人信息void DisplayOne(Book*); //显示全部联系人重载函数void SortNo(); //按序列号排序(从小到大)void Save (); //保存数据int CheckNo(char *); //输入序列号int CheckName(char *); //输入姓名void PrintTitle(); //显示表头void GetData(Book*); //读取联系人信息void Update(); //修改联系人信息void Delete(); //删除联系人信息void Query(); //查询联系人信息enum Choices{ADD=1,UPDATE,DELETE,QUERY,DISPLAY,SORTNO,END}; const int MaxNum=200; //能够建立的最多联系人人数int CurNum; //当前联系人人数Book book[MaxNum]; //结构数组void main(){Init();int choice;while((choice=EnterChoice())!=END){switch(choice){case ADD:Add();break;case UPDATE:Update();break;case DELETE:Delete();break;case QUERY:Query();break;case DISPLAY:Display();break;case SORTNO:SortNo();break;default:cerr<<"输入序列号不正确,请重新输入!\n";}}Save();}3、函数实现文件//函数实现文件#include <iostream.h>#include <iomanip.h>#include <fstream.h>#include <string.h>#include "手机通讯录.h"int EnterChoice(); //输入选项void Init(); //数据文件初始化void Add(); //增加一个联系人信息void Update(); //修改一个联系人信息void Delete(); //删除一个联系人信息void Query(); //查询一个联系人信息void Display(); //显示全部学生void DisplayOne(Book*); //显示一个学生的重载函数void SortNo(); //按建立时的序号排序(从小到大)void Save (); //保存联系人信息数据int CheckNo(char *); //检查联系人是否存在,存在返回序列号,不存在返回-1 int CheckName(char *); //检查联系人是否存在,存在返回姓名,不存在返回-1 void PrintTitle(); //显示选择菜单void GetData(Book*); //读取联系人信息extern const int MaxNum=200; //最多能够建立联系人人数extern int CurNum; //当前已经建立的人数extern Book book[MaxNum]; //结构数组//========================输入选择函数======================== int EnterChoice(){cout<<"\n\t++++++++欢迎使用手机通讯录管理系统+++++++++++++++++\n"; cout<<" 按【1】: 添加一位联系人信息; "<<endl; cout<<" 按【2】: 修改一位联系人信息; "<<endl; cout<<" 按【3】: 删除一位联系人信息; "<<endl; cout<<" 按【4】: 查询一位联系人信息; "<<endl; cout<<" 按【5】: 显示所有联系人信息; "<<endl; cout<<" 按【6】: 按建立序列号排序; "<<endl; cout<<" 按【7】:结束; "<<endl; cout<<"\n\t+++++++++++++++++++++++++++++++++++++++++++++"<<endl; cout<<"\n\t请选择菜单(1-7):" ;int Choice;cin>> Choice;return Choice;}//===========================初始化函数======================== void Init(){ifstream inCount,inBook;ofstream outCount,outBook;inCount.open("count.txt",ios::in); //打开联系人人数文件if(!inCount) //文件不存在,建立该文件{inCount.close();outCount.open("count.txt",ios::out);outCount<<CurNum; //写入联系人人数0outCount.close(); //关闭文件}else{inCount>>CurNum; //文件存在,读取联系人人数inCount.close();}if(CurNum) //联系人总数不为0,联系人文件存在{inBook.open("Book.txt",ios::in); //打开联系人文件for(int i=0;i<CurNum;i++) //读取联系人数据{inBook>>book[i].No; //读取联系人序号inBook>>book[i].Name; //读取联系人姓名inBook>>book[i].Nickname; //读取联系人昵称inBook>>book[i].Sex; //读取联系人性别inBook>>book[i].Mobilenum; //读取联系人手机号码inBook>>book[i].Familynum; //读取联系人家里电话inBook>>book[i].Addr; //读取联系人地址inBook>>book[i].qq; //读取联系人QQinBook>>book[i].Email; //读取联系人E-mail}inBook.close();}else{outBook.open("Book.txt",ios::out);outBook.close();}}//=====================增加一个联系人信息======================= void Add(){char no[9];cout<<"序列号:";cin>>no;int i=CheckNo(no);if (i>=0)cout<<"序列号已存在,请重新输入"<<endl;else{strcpy(book[CurNum].No,no);cout<<"姓名:";cin>>book[CurNum].Name;cout<<"昵称:";cin>>book[CurNum].Nickname;cout<<"性别:";cin>>book[CurNum].Sex ;cout<<"手机号码:";cin>>book[CurNum].Mobilenum;cout<<"家里电话:";cin>>book[CurNum].Familynum;cout<<"地址:";cin>>book[CurNum].Addr ;cout<<"QQ:";cin>>book[CurNum].qq ;cout<<"E-mail:";cin>>book[CurNum].Email ;Save();DisplayOne(book+CurNum); //排序后重新显示CurNum++;}}//==================按序列号从小到大冒泡排序,并显示=============== void SortNo(){Book temp;int flag;for(int i=0;i<CurNum-1;i++){flag=1;for(int j=0;j<CurNum-1-i;j++){if(strcmp(book[j+1].No ,book[j].No)<0 ){flag=0;temp=book[j+1];book[j+1]=book[j];book[j]=temp;}}if(flag) break;}Display(); //排序后重新显示}//==========================显示表头=========================== void PrintTitle(){cout<<setiosflags(ios::left);cout<<setw(4)<<"序号"<<setw(6)<<"姓名"<<setw(6)<<"昵称"<<setw(4)<<"性别"<<setw(10)<<" 手机号码"<<setw(14)<<" 家里电话"<<setw(10)<<" 地址"<<setw(10)<<" QQ"<<setw(10)<<" E-mail"<<endl;}//=======================显示所有联系人信息===================== void Display(){cout<<setiosflags(ios::left);PrintTitle();for (int i=0;i<CurNum;i++){cout<<setw(4)<<book[i].No;cout<<setw(6)<<book[i].Name;cout<<setw(6)<<book[i].Nickname;cout<<setw(4)<<book[i].Sex;cout<<setw(10)<<book[i].Mobilenum;cout<<setw(10)<<book[i].Familynum;cout<<setw(10)<<book[i].Addr;cout<<setw(10)<<book[i].qq;cout<<setw(10)<<book[i].Email<<endl;}}//======================显示一个联系人信息====================== void DisplayOne(Book *book){cout<<setiosflags(ios::left);PrintTitle();cout<<setw(4)<<book->No;cout<<setw(6)<<book->Name;cout<<setw(6)<<book->Nickname;cout<<setw(4)<<book->Sex;cout<<setw(10)<<book->Mobilenum;cout<<setw(10)<<book->Familynum;cout<<setw(10)<<book->Addr;cout<<setw(10)<<book->qq;cout<<setw(10)<<book->Email;}//======================保存联系人信息到文本文件================= void Save(){ofstream outCount,outBook;outCount.open("count.txt",ios::out);outCount<<CurNum;outCount.close();outBook.open ("book.txt",ios::out);for(int i=0;i<CurNum;i++){outBook<<(book+i)->No<<" ";outBook<<(book+i)->Name<<" ";outBook<<(book+i)->Nickname<<" ";outBook<<(book+i)->Sex<<" ";outBook<<(book+i)->Mobilenum<<" ";outBook<<(book+i)->Familynum<<" ";outBook<<(book+i)->Addr<<" ";outBook<<(book+i)->qq<<" ";outBook<<(book+i)->Email<<" "<<endl;}outBook.close();}//=======检查序列号是否存在,找到返回所在数组下标,找不到返回-1======= int CheckNo(char* no){for(int i=0;i<CurNum;i++)if(strcmp(book[i].No,no)==0)return i;return -1;}//======检查姓名是否存在,找到返回所在数组下标,找不到返回-1========= int CheckName(char* name){for(int i=0;i<CurNum;i++)if(strcmp(book[i].Name,name)==0)return i;return -1;}//==============根据输入的姓名,修改联系人信息,并显示============== void Update(){char uName[9];char a;cout<<"输入姓名:";cin>>uName;int i=CheckName(uName);if(i<0)cout<<"联系人不存在!\n";else{cout<<"确定修改吗?(y/n)\n";cin>>a;if(a=='y'||a=='Y'){cout<<"修改序列号吗?(y/n)";cin>>a;if(a=='y'||a=='Y'){cout<<"输入序列号:";cin>>book[i].No;}cout<<"修改昵称吗?(y/n)\n"; cin>>a;if(a=='y'||a=='Y'){cout<<"输入昵称:";cin>>book[i].Nickname;}cout<<"修改性别吗?(y/n)\n"; cin>>a;if(a=='y'||a=='Y'){cout<<"输入性别:";cin>>book[i].Sex;}cout<<"修改手机号码吗?(y/n)\n"; cin>>a;if(a=='y'||a=='Y'){cout<<"输入手机号码:";cin>>book[i].Mobilenum;}cout<<"修改家里电话吗?(y/n)\n"; cin>>a;if(a=='y'||a=='Y'){cout<<"输入家里电话:";cin>>book[i].Familynum;}cout<<"修改地址吗?(y/n)\n"; cin>>a;if(a=='y'||a=='Y'){cout<<"输入地址:";cin>>book[i].Addr;}cout<<"修改QQ吗?(y/n)\n"; cin>>a;if(a=='y'||a=='Y'){cout<<"输入QQ:";cin>>book[i].qq;}cout<<"修改E-mail吗?(y/n)\n";cin>>a;if(a=='y'||a=='Y'){cout<<"输入E-mail:";cin>>book[i].Email;}DisplayOne(book+i); //显示当前记录}}}//===============根据输入的姓名,删除对应的联系人================= void Delete(){char dName[9];char a;cout<<"输入姓名:";cin>>dName;int i=CheckName(dName);if(i<0)cout<<"联系人不存在!\n";else{cout<<"确定删除吗?(y/n)\n";cin>>a;if(a=='y'||a=='Y'){for(int j=i+1;j<CurNum;j++)book[j-1]=book[j];CurNum--;}}}//================根据输入的姓名,查找该联系人并显示=============== void Query(){char qName[9];cout<<"输入姓名:";cin>>qName;int i=CheckName(qName);if(i<0)cout<<"联系人不存在!\n";else{DisplayOne(book+i);}}21。