通讯录课程设计报告--通讯录菜单设计
通讯录管理系统课程设计报告
![通讯录管理系统课程设计报告](https://img.taocdn.com/s3/m/7712723191c69ec3d5bbfd0a79563c1ec5dad7b5.png)
通讯录管理系统课程设计报告一、课程设计背景随着信息化时代的到来,通讯录管理系统已经成为了人们日常生活中必不可少的一部分。
在这个快节奏的社会中,人们需要随时随地地获取和管理自己的联系人信息。
因此,设计一个高效、方便、易用的通讯录管理系统就显得尤为重要。
二、需求分析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语句来完成对数据库中表格的增删改查操作,并将结果返回给前端界面显示。
c语言课程设计通讯录管理系统课程设计报告
![c语言课程设计通讯录管理系统课程设计报告](https://img.taocdn.com/s3/m/0187348b48649b6648d7c1c708a1284ac850050f.png)
c语言课程设计通讯录管理系统课程设计报告一、教学目标本课程旨在通过学习C语言通讯录管理系统的设计与实现,让学生掌握C语言编程的基本技能,培养其软件开发的基本思路与方法。
具体目标如下:1.知识目标:–理解C语言的基本数据类型、运算符、控制结构。
–学习C语言函数的定义与调用。
–掌握结构体、文件操作等高级C语言特性。
2.技能目标:–能够运用C语言实现简单的数据结构,如链表、数组。
–培养学生使用C语言进行程序设计的能力,能够独立完成程序编写、调试与优化。
–学会使用C语言实现文件操作,包括文件的读取与写入。
3.情感态度价值观目标:–培养学生对计算机科学的兴趣,增强其自主学习的动力。
–通过项目实践,培养学生的团队协作能力和解决问题的能力。
–引导学生理解技术对生活的影响,培养其对技术发展的责任感。
二、教学内容教学内容选取C语言编程的核心知识点,结合通讯录管理系统的实例进行讲解。
具体内容包括:1.C语言基础:数据类型、变量、运算符、控制结构。
2.函数:函数定义、调用、参数传递、返回值。
3.数据结构:数组、链表、栈和队列。
4.文件操作:文件读写、文件指针。
5.通讯录管理系统实现:结构体定义、系统功能实现、项目管理。
三、教学方法结合C语言特点和通讯录管理系统实例,采用以下教学方法:1.讲授法:系统讲解C语言基础知识和通讯录管理系统的设计理念。
2.案例分析法:通过分析典型代码案例,让学生理解程序设计逻辑。
3.实验法:学生在实验室进行编程实践,巩固理论知识。
4.讨论法:分组讨论问题,培养学生的团队协作和沟通能力。
四、教学资源1.教材:《C程序设计语言》(K&R)、《C Primer Plus》。
2.参考书:《C语言编程思想》、《C语言实践》。
3.多媒体资料:教学PPT、在线编程教程、视频讲解。
4.实验设备:计算机、网络环境、编程环境(如Code::Blocks、VisualStudio)。
五、教学评估本课程的教学评估将综合考虑学生的平时表现、作业、考试等方面,以全面、客观、公正地评价学生的学习成果。
c课程设计通讯录
![c课程设计通讯录](https://img.taocdn.com/s3/m/07a3c24b4531b90d6c85ec3a87c24028905f8545.png)
c 课程设计 通讯录一、课程目标知识目标:1. 学生能理解通讯录的基本概念,掌握其组成元素,如姓名、电话号码、地址等。
2. 学生能掌握在特定电子设备或应用中创建、编辑和存储通讯录的步骤。
3. 学生了解通讯录在生活中的重要性,认识到它对个人信息管理的价值。
技能目标:1. 学生能够独立在电子设备上新建通讯录,输入和修改联系人信息。
2. 学生能够利用排序和搜索功能,快速找到通讯录中的联系人。
3. 学生能够理解并使用分类、标签等功能,对通讯录进行有效的整理和优化。
情感态度价值观目标:1. 学生培养良好的信息管理习惯,认识到个人信息保护的重要性。
2. 学生在小组合作中,学会分享和交流,增强团队协作意识。
3. 学生通过学习通讯录的使用,认识到科技在生活中的应用,激发学习兴趣和探索精神。
课程性质:本课程为实践操作课程,结合生活实际,以培养学生的实际操作能力为主。
学生特点:四年级学生已具备一定的信息素养,对电子设备有较高的兴趣,但实际操作能力还需加强。
教学要求:教师应结合学生特点,采用讲解与实操相结合的教学方法,关注学生个体差异,确保每个学生都能掌握通讯录的基本操作。
在教学过程中,注重引导学生培养良好的信息管理习惯,提升学生的团队协作能力。
通过课程评估,确保学生达到预定的学习目标。
二、教学内容1. 通讯录的定义与作用- 介绍通讯录的基本概念- 讲解通讯录在生活中的重要性2. 通讯录的基本组成- 姓名、电话号码、地址等个人信息- 分类、标签、排序等管理功能3. 通讯录的创建与编辑- 在电子设备上新建通讯录- 添加、修改和删除联系人信息4. 通讯录的存储与管理- 保存和备份通讯录- 搜索和筛选联系人5. 通讯录的实用技巧- 设置头像、铃声等个性化选项- 使用共享和导出功能6. 信息安全与隐私保护- 讲解信息安全的基本知识- 强调保护个人隐私的重要性7. 小组合作与分享- 以小组为单位,共同创建一个班级通讯录- 分享创建过程中的经验和心得教学内容根据课本章节进行安排,结合课程目标,确保学生掌握通讯录的相关知识和操作技能。
课程设计手机通讯录的设计
![课程设计手机通讯录的设计](https://img.taocdn.com/s3/m/1812b3e6f021dd36a32d7375a417866fb84ac0c1.png)
课程设计手机通讯录的设计一、课程目标知识目标:1. 让学生掌握手机通讯录的基本概念和功能,理解其在日常生活和工作中的重要性。
2. 学习通讯录的信息存储、检索和管理方法,了解不同手机操作系统的通讯录应用差异。
3. 掌握设计手机通讯录的基本原则和流程,了解界面布局、用户体验等相关知识。
技能目标:1. 培养学生运用所学知识分析和解决实际问题的能力,能独立设计出界面友好、功能实用的手机通讯录。
2. 提高学生团队协作和沟通能力,学会在项目中进行有效分工与合作。
3. 培养学生运用信息技术手段进行资料搜集、整理和分析的能力。
情感态度价值观目标:1. 培养学生关注社会发展、关注新技术,提高对信息科技的兴趣和热情。
2. 增强学生的创新意识和实践能力,鼓励他们勇于尝试,不断优化设计方案。
3. 培养学生尊重他人意见,学会倾听、理解、接纳和包容,形成良好的团队合作精神。
课程性质:本课程为信息技术课程,结合实际应用,注重培养学生的实践操作能力和创新思维。
学生特点:学生具备一定的信息技术基础,对新事物充满好奇,喜欢动手实践,但需加强对知识整合和应用的能力。
教学要求:结合课本内容,以实际操作为主,注重理论与实践相结合,提高学生的综合运用能力。
通过本课程的学习,使学生能够将所学知识应用于实际生活,提高个人信息管理能力。
二、教学内容1. 手机通讯录概述- 通讯录的定义与作用- 不同手机操作系统通讯录应用的特点2. 通讯录信息管理- 联系人信息的录入、编辑、删除和查找- 分类与标签管理- 云同步与备份3. 设计原则与流程- 界面设计原则:简洁、易用、美观- 用户体验:操作便捷、功能明确- 设计流程:需求分析、界面设计、功能实现、测试优化4. 实践操作- 运用设计工具进行界面布局和原型设计- 功能实现:添加、编辑、删除联系人等- 项目分工与协作5. 评估与优化- 评估标准:功能完整性、界面美观度、操作便捷性- 优化方向:界面调整、功能完善、用户体验改进教学内容依据课程目标,结合课本相关章节,注重理论与实践相结合。
通讯录管理系统课程设计报告
![通讯录管理系统课程设计报告](https://img.taocdn.com/s3/m/b4e453884128915f804d2b160b4e767f5bcf8078.png)
通讯录管理系统课程设计报告一、引言通讯录管理系统是一种用于存储和管理联系人信息的应用程序,它可以帮助用户方便地记录和查找各种联系人信息。
在本课程设计报告中,我们将讨论通讯录管理系统的设计和实现过程,以及系统的功能特点和操作流程。
二、需求分析通讯录管理系统需要具备以下基本功能: 1. 添加联系人信息:用户可以输入姓名、电话号码、电子邮件地址等信息来添加新的联系人。
2. 查找联系人信息:用户可以通过姓名或电话号码等关键词来查找已添加的联系人信息。
3. 修改联系人信息:用户可以对已有联系人信息进行修改和更新。
4. 删除联系人信息:用户可以选择删除不需要的联系人信息。
5. 显示所有联系人信息:系统可以按照一定的格式将所有联系人信息展示给用户。
三、系统设计1. 数据结构为了存储联系人信息,我们可以使用一个包含姓名、电话号码、电子邮件地址等字段的结构体来表示每个联系人。
可以使用链表或数组来组织所有联系人信息。
2. 模块设计通讯录管理系统可以划分为以下几个模块: - 添加联系人模块:实现添加新联系人信息的功能。
- 查找联系人模块:实现根据关键词查找联系人信息的功能。
- 修改联系人模块:实现对已有联系人信息进行修改和更新的功能。
- 删除联系人模块:实现删除不需要的联系人信息的功能。
- 显示联系人模块:实现将所有联系人信息按照一定格式展示给用户的功能。
3. 用户界面设计用户界面应该简洁明了,包括各个功能的按钮或选项,以及输入框和显示信息的区域。
用户应该能够方便地进行各种操作和查看联系人信息。
四、系统实现1. 数据存储可以使用文件来存储联系人信息,也可以使用数据库来进行数据持久化。
2. 界面实现可以使用图形界面或命令行界面来实现用户交互功能,不同的界面设计会影响用户体验。
3. 功能实现根据需求分析中的功能,实现各个模块的功能代码,确保系统可以正确地完成相关操作。
五、功能测试在系统实现完毕后,需要进行功能测试,确保系统的各个功能都能正常运行,并且符合需求。
c通讯录课程设计报告
![c通讯录课程设计报告](https://img.taocdn.com/s3/m/5f521570905f804d2b160b4e767f5acfa1c783b8.png)
c通讯录课程设计报告一、课程目标本通讯录课程设计旨在通过实践活动,使学生在信息技术学科的基础上,掌握以下知识目标、技能目标和情感态度价值观目标:1. 知识目标:- 了解通讯录的基本概念、功能及在实际生活中的应用。
- 掌握通讯录的录入、修改、删除、查询等基本操作。
- 了解如何对通讯录进行分类、排序和筛选,以便快速查找和整理信息。
2. 技能目标:- 学会使用电子表格软件(如Microsoft Excel)创建、编辑和管理通讯录。
- 能够运用所学知识,设计并优化个人或团队的通讯录,提高信息处理效率。
- 培养学生的团队协作能力,通过小组讨论和分享,提高问题解决和沟通表达能力。
3. 情感态度价值观目标:- 培养学生珍惜个人信息,尊重他人隐私的观念。
- 增强学生的信息素养,认识到信息技术在生活中的重要性,激发对信息技术的学习兴趣。
- 通过对通讯录的学习和实际操作,培养学生的责任心和细致严谨的工作态度。
课程性质:本课程为实践性较强的信息技术课程,结合学生年级特点和教学要求,注重培养学生的动手操作能力和团队协作能力。
学生特点:考虑到学生所在年级,他们在信息技术方面已具备一定的基础,对新鲜事物充满好奇心,善于合作学习。
教学要求:结合课程目标和学科特点,教师应注重实践操作,引导学生主动探索、积极思考,将所学知识应用于实际生活中,达到学以致用的目的。
在教学过程中,教师需关注学生的学习进度,及时调整教学策略,确保课程目标的实现。
通过本课程的学习,使学生能够熟练掌握通讯录的制作和管理,提高个人信息素养。
二、教学内容根据课程目标,本章节教学内容围绕通讯录的制作和管理展开,确保内容的科学性和系统性。
以下是详细的教学大纲及教材关联内容:1. 通讯录概述- 介绍通讯录的定义、功能及应用场景。
- 教材章节:第一章 信息技术与日常生活。
2. 通讯录的基本操作- 学习通讯录的录入、修改、删除、查询等操作。
- 教材章节:第二章 电子表格软件的基本操作。
java通讯录课程设计报告
![java通讯录课程设计报告](https://img.taocdn.com/s3/m/eb0aba6259fb770bf78a6529647d27284b7337db.png)
课程设计报告:Java通讯录一、引言本次课程设计是关于Java通讯录的开发,旨在让我们更深入地理解Java编程语言在现实生活中的应用。
通讯录是一种常见的应用程序,它可以帮助我们管理联系人信息,方便我们与朋友和家人保持联系。
二、需求分析本次课程设计的目标是根据用户需求,设计并实现一个功能齐全的Java通讯录应用程序。
具体需求如下:用户可以添加联系人信息,包括姓名、电话号码、电子邮件地址等。
用户可以删除联系人信息。
用户可以编辑联系人信息。
用户可以按姓名、电话号码或电子邮件地址搜索联系人信息。
用户可以查看所有联系人信息。
三、设计数据库设计为了存储联系人信息,我们选择使用Java内置的ArrayList类作为数据库。
ArrayList是一个动态数组,可以根据需要自动增长。
我们将使用ArrayList的add()方法添加联系人信息,使用get()方法获取联系人信息,使用remove()方法删除联系人信息。
界面设计我们使用Java Swing库来创建用户界面。
界面包括以下组件:JLabel:显示提示信息和标题。
JTextField:用于输入和编辑联系人信息。
JButton:用于触发添加、删除、编辑和搜索等操作。
JTable:用于显示所有联系人信息。
JComboBox:用于选择搜索条件。
四、实现添加联系人信息当用户点击“添加”按钮时,程序会创建一个新的联系人对象,并将用户输入的信息设置到该对象中。
然后,程序将该对象添加到ArrayList中。
删除联系人信息当用户选择要删除的联系人并点击“删除”按钮时,程序会从ArrayList中删除该联系人对象。
编辑联系人信息当用户选择要编辑的联系人并点击“编辑”按钮时,程序会将该联系人的信息显示在文本框中,以便用户进行修改。
修改完成后,程序会将修改后的信息保存到ArrayList中。
搜索联系人信息当用户选择搜索条件并输入搜索关键字时,程序会在ArrayList 中查找符合条件的联系人对象,并将其显示在表格中。
通讯录c课程设计报告
![通讯录c课程设计报告](https://img.taocdn.com/s3/m/f7bd596d66ec102de2bd960590c69ec3d4bbdb68.png)
通讯录c 课程设计报告一、课程目标本课程为六年级信息技术学科“通讯录C”课程设计,旨在通过实践操作,使学生在知识、技能及情感态度价值观方面取得以下目标:1. 知识目标:(1)掌握通讯录的基本概念及作用;(2)学会使用电子表格软件(如Microsoft Excel)创建、编辑和保存通讯录;(3)了解通讯录信息分类和排序的方法。
2. 技能目标:(1)能够独立完成通讯录的创建、编辑和保存操作;(2)能够运用电子表格软件对通讯录进行信息分类和排序;(3)学会在电子表格中插入公式,实现通讯录信息的自动计算。
3. 情感态度价值观目标:(1)培养学生对信息技术的兴趣和热情,提高信息素养;(2)培养学生团队协作精神,学会在小组合作中共同解决问题;(3)引导学生认识到信息保护的重要性,养成信息安全意识。
本课程结合六年级学生的认知特点,注重实践操作,将知识目标、技能目标和情感态度价值观目标融入教学过程中,使学生能够在轻松愉快的氛围中学习信息技术,提高综合运用能力。
同时,课程目标具体、可衡量,便于教学设计和评估。
二、教学内容本章节教学内容依据课程目标,结合教材第四章“电子表格与数据处理”内容,具体安排如下:1. 通讯录基本概念与作用:介绍通讯录的定义、功能及在日常生活和工作中重要性。
2. 电子表格软件操作:(1)认识Microsoft Excel界面,学会基本操作;(2)创建新工作簿,编辑单元格内容;(3)保存和打开工作簿。
3. 通讯录创建与编辑:(1)设计通讯录表格结构;(2)录入联系人信息;(3)调整单元格格式,美化通讯录。
4. 通讯录信息处理:(1)运用公式进行信息统计;(2)使用排序和筛选功能,快速查找联系人;(3)分类汇总联系人信息。
5. 通讯录保护与分享:(1)设置密码保护通讯录;(2)导出和分享通讯录。
教学进度安排:共计4课时,分别为:1. 第1课时:通讯录基本概念与作用、电子表格软件认识;2. 第2课时:创建与编辑通讯录;3. 第3课时:通讯录信息处理;4. 第4课时:通讯录保护与分享。
c语言课程设计通讯录管理系统课程设计报告
![c语言课程设计通讯录管理系统课程设计报告](https://img.taocdn.com/s3/m/47bc468aafaad1f34693daef5ef7ba0d4a736d82.png)
c语言课程设计通讯录管理系统课程设计报告一、教学目标本课程旨在通过学习C语言,使学生掌握通讯录管理系统的开发过程,培养学生的编程能力和逻辑思维能力。
具体目标如下:1.知识目标:学生能够理解C语言的基本语法和数据结构,掌握函数的定义和调用,了解面向过程的编程思想。
2.技能目标:学生能够使用C语言编写简单的程序,具备解决实际问题的能力,能够独立完成一个通讯录管理系统的开发。
3.情感态度价值观目标:学生通过课程学习,能够培养对编程的兴趣和热情,增强自我学习的动力,提高团队协作的能力。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、函数的定义和调用,以及面向过程的编程思想。
具体安排如下:1.C语言的基本语法:介绍变量、常量、运算符、表达式等基本概念。
2.数据结构:介绍整数、浮点数、字符等数据类型的使用,以及数组、指针等数据结构。
3.函数的定义和调用:介绍函数的声明、定义和调用,以及函数的参数传递和返回值。
4.面向过程的编程思想:介绍程序的执行流程、循环结构、条件判断等编程控制语句。
三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法,以激发学生的学习兴趣和主动性。
具体方法如下:1.讲授法:通过讲解C语言的基本语法、数据结构、函数的定义和调用等知识,使学生掌握课程的基本概念。
2.案例分析法:通过分析实际案例,让学生了解编程思想,培养学生的实际操作能力。
3.实验法:安排实验室实践环节,让学生动手编写程序,提高学生的实际编程能力。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。
具体资源如下:1.教材:选用权威、实用的C语言教材,为学生提供系统的学习资料。
2.参考书:推荐学生阅读一些优秀的编程书籍,丰富学生的知识储备。
3.多媒体资料:制作课件、视频等多媒体资料,提高课堂的教学效果。
4.实验设备:提供充足的计算机设备,确保学生能够进行实验和实践。
五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分,以全面客观地评价学生的学习成果。
通讯录管理系统课程设计报告Java
![通讯录管理系统课程设计报告Java](https://img.taocdn.com/s3/m/aa18c06bae45b307e87101f69e3143323968f5ea.png)
通讯录管理系统课程设计报告Java1. 简介通讯录管理系统是一种方便用户存储和管理联系人信息的工具。
本课程设计将使用Java语言开发一个简单的通讯录管理系统,实现对联系人信息的增删改查功能。
通过本项目的实践,学习者将掌握Java编程语言的基础知识和面向对象编程的技巧。
2. 功能需求通讯录管理系统应包含以下功能: - 添加联系人信息:用户可以输入联系人的姓名、电话号码、邮箱等信息添加到通讯录中。
- 显示所有联系人信息:系统能够展示所有已保存在通讯录中的联系人信息。
- 查找联系人信息:用户可以通过姓名或电话号码查找特定联系人的信息。
- 修改联系人信息:用户可以对已保存的联系人信息进行修改。
- 删除联系人信息:用户可以删除通讯录中的联系人信息。
实现以上功能需要设计相应的数据结构和算法,以及编写用户交互界面。
3. 技术实现3.1 数据结构在Java中,可以使用ArrayList或HashMap等数据结构来存储联系人信息。
ArrayList适用于有序的联系人列表,而HashMap适用于根据键值快速查找联系人信息。
3.2 用户交互界面用户交互界面可以通过Java的Swing或JavaFX等GUI工具包来实现。
设计一个简洁明了的界面,包含菜单栏、输入框、按钮等组件,以方便用户操作。
3.3 功能实现•添加联系人信息:用户输入信息后,将联系人信息添加到数据结构中。
•显示所有联系人信息:遍历数据结构,将所有联系人信息展示在界面上。
•查找联系人信息:根据用户输入的查询条件,在数据结构中查找对应的联系人信息。
•修改联系人信息:根据用户输入的修改信息,更新数据结构中相应的联系人信息。
•删除联系人信息:根据用户输入的删除条件,从数据结构中移除对应的联系人信息。
4. 总结通讯录管理系统是一个简单实用的应用程序,能够帮助用户有效管理联系人信息。
通过本课程设计,学习者将学习如何使用Java语言开发基本的应用程序,掌握面向对象编程的基本原理和技巧。
学生通讯录课程设计
![学生通讯录课程设计](https://img.taocdn.com/s3/m/0b901340fe00bed5b9f3f90f76c66137ee064ff4.png)
学生通讯录课程设计一、课程目标知识目标:1. 学生能理解并掌握通讯录的基本概念,包括姓名、电话号码、地址等信息的记录方式。
2. 学生能够运用所学知识,独立设计并制作一份个人通讯录。
3. 学生了解通讯录在生活中的重要性和实际应用。
技能目标:1. 学生掌握使用文字处理软件或手工方式制作通讯录的技能。
2. 学生培养信息收集、整理和分类的能力,提高信息处理效率。
3. 学生学会在通讯录中合理运用字体、颜色等元素,提高审美观。
情感态度价值观目标:1. 学生培养关爱他人、珍惜友谊的情感,通过通讯录的编制,增强与同学、亲朋好友的联系。
2. 学生树立正确的信息保护意识,尊重他人隐私。
3. 学生认识到通讯录在生活和学习中的实用价值,激发对信息技术学科的兴趣。
课程性质:本课程为信息技术学科,结合实际生活场景,培养学生的实际操作能力和信息素养。
学生特点:六年级学生已具备一定的信息技术基础和实际操作能力,对新鲜事物充满好奇,喜欢动手实践。
教学要求:教师需结合学生特点,设计生动活泼、富有实践性的教学活动,引导学生积极参与,注重培养学生实际操作能力和创新思维。
在教学过程中,关注学生的情感态度价值观培养,使学生在掌握知识技能的同时,形成良好的道德素养。
通过分解课程目标,为后续教学设计和评估提供具体可衡量的学习成果。
二、教学内容1. 通讯录基础知识:- 通讯录的定义与作用- 通讯录的基本元素:姓名、电话、地址等2. 通讯录设计与制作:- 制作通讯录的常用工具:文字处理软件、手工制作等- 通讯录的设计原则:简洁、美观、易用- 通讯录的制作步骤:收集信息、整理分类、设计布局、输入输出3. 信息技术应用:- 信息的收集与整理方法- 通讯录的电子化处理:使用文字处理软件进行编辑、排版和保存4. 信息保护与道德素养:- 信息保护意识:不泄露他人隐私,保护个人信息安全- 道德素养:尊重他人,正确使用通讯录教学内容安排与进度:第一课时:通讯录基础知识学习,了解通讯录的定义与作用,熟悉通讯录的基本元素。
学生通讯录管理系统课程设计报告
![学生通讯录管理系统课程设计报告](https://img.taocdn.com/s3/m/37739340ba68a98271fe910ef12d2af90242a88b.png)
学生通讯录管理系统课程设计报告一、课程设计背景学生通讯录管理系统是一个旨在帮助学生和教师更好地管理个人信息和通讯录的软件系统。
随着信息技术的不断发展,现代教育领域对教学、管理和学习等方面的要求越来越高,传统的纸质通讯录管理方式已经无法满足教育机构的需求。
因此,开发一个便捷、高效的学生通讯录管理系统成为当今教育信息化的重要课题。
二、需求分析学生通讯录管理系统主要包括以下功能模块:1.学生信息管理:用于录入、修改和删除学生个人信息,包括姓名、学号、性别、联系方式等;2.通讯录管理:实现通讯录的分类、查找、添加和删除功能,方便学生和教师进行联系;3.用户权限管理:设置不同权限等级的用户,如学生、教师和管理员,确保信息安全性;4.数据备份与恢复:对系统中的重要数据进行定期备份,保障数据的安全性;5.界面友好性:系统界面简洁明了,操作便捷,用户体验良好。
三、系统设计1. 系统架构学生通讯录管理系统采用客户端-服务器架构,客户端提供给学生和教师使用,服务器端用于存储核心数据和处理业务逻辑。
2. 数据库设计系统采用关系型数据库,主要包括以下表:•学生表(Student):包含学生的基本信息;•教师表(Teacher):包含教师的基本信息;•通讯录表(Contact):记录学生或教师之间的联系方式;•用户表(User):存储系统用户的账号信息和权限。
3. 功能实现(1)学生信息管理学生信息管理模块提供学生信息的增删改查功能,管理员可以对学生信息进行修改和删除,学生可以查看、修改自己的个人信息。
(2)通讯录管理通讯录管理模块支持对通讯录的分类和搜索功能,学生和教师可以添加、删除通讯录条目,并对通讯录进行管理。
(3)用户权限管理系统设定不同权限等级的用户,管理员有最高权限,可以管理用户账号和角色,确保系统的安全性。
四、系统实现系统采用Java语言进行开发,前端界面使用JavaFX技术,后端采用Spring框架实现业务逻辑,数据库连接采用JDBC等技术。
课程设计通讯录
![课程设计通讯录](https://img.taocdn.com/s3/m/f97e1137f02d2af90242a8956bec0975f465a4eb.png)
课程设计通讯录课程设计通讯录简介•本文将介绍一个针对课程设计的通讯录项目。
•通讯录是一个基于文本界面的应用程序,用于管理联系人的信息。
设计目标•开发一个简单易用的通讯录,方便用户添加、查找和删除联系人。
•支持联系人的基本信息,如姓名、电话号码等。
•提供良好的用户界面,使用户能够快速操作。
功能设计以下是通讯录的主要功能设计:1.显示通讯录:用户可以查看当前已添加的所有联系人。
2.添加联系人:用户可以添加新的联系人,并输入其姓名和电话号码。
3.查找联系人:用户可以根据姓名或电话号码查找指定的联系人。
4.删除联系人:用户可以删除已经存在的联系人,以便维护通讯录的整洁。
通讯录的界面采用命令行的交互方式,具体如下:通讯录1. 显示通讯录2. 添加联系人3. 查找联系人4. 删除联系人5. 退出请选择操作:开发流程以下是通讯录开发的基本流程:1.需求分析:明确功能需求,定义通讯录的基本数据结构。
2.设计界面:确定用户界面的显示方式及交互方式。
3.编码实现:根据需求和界面设计,编写相应的代码。
4.测试调试:测试通讯录的各项功能,并修复可能存在的问题。
5.发布和维护:发布最终版本,并根据用户反馈进行功能迭代和Bug修复。
通讯录项目有以下优点和缺点:优点: - 实现简单,适合刚入门的开发者学习和练习。
- 功能明确,功能模块化设计,易于扩展和维护。
缺点: - 基于文本界面,用户体验相对较差。
- 功能较为简单,缺乏高级特性,如数据备份与恢复、数据加密等。
结语通过本文的介绍,我们了解了课程设计通讯录项目的设计目标、功能设计、界面设计以及开发流程。
同时,也对该项目的优缺点进行了评估。
希望本文能够对读者在开发类似项目时提供一些思路和参考。
扩展功能除了基本功能外,通讯录还可以扩展以下功能:1.编辑联系人:用户可以修改已经存在联系人的信息,如姓名、电话号码等。
2.分组管理:用户可以将联系人按照不同的分组进行管理,方便查找和筛选。
通讯录系统课程设计实验报告
![通讯录系统课程设计实验报告](https://img.taocdn.com/s3/m/ec786b1b844769eae009edc6.png)
目录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()的功能是:创建新的通讯录。
通讯录管理系统课程设计报告
![通讯录管理系统课程设计报告](https://img.taocdn.com/s3/m/ae5cae3884254b35effd3439.png)
设计课题题目一、课程设计目的与要求1.课程设计目的(1)综合运用之前所学知识(选择控制,循环控制,数组,函数,指针,结构体和文件等)来完成一个简单的信息管理程序的设计。
(2)充分体现和体会函数在程序设计中的必要性和实用性,并反映主函数main()在程序设计中的实现思路和方法。
2. 课程设计要求制作一个通讯录系统。
(1)该程序具有查找、添加、修改、删除功能。
(2)通讯录包括:姓名、电话、街道、城市、省、邮编等。
二、总体设计根据系统的要求,系统总体设计如图1所示。
三、详细设计1、数据结构设计#include<stdio.h> /*标准输入输出函数库*/#include<stdlib.h> /*标准函数库*/#include<string.h> /*字符串函数库*/#define FILENAME "phone.dat"struct date //定义一个结构体类型数组{ char name[10]; /*姓名*/char phone[12]; /*电话*/char email[20]; /*邮箱*/char QQ[20]; /*QQ*/} per[10];int menu() //主菜单选择函数2.函数说明(1) 主函数main()允许用户通过菜单进行功能选择,使用相应的功能代码来调用对应的函数功能。
(2)四、程序清单1、头文件#include<stdio.h> /*标准输入输出函数库*/#include<stdlib.h> /*标准函数库*/#include<string.h> /*字符串函数库*/#define FILENAME "phone.dat"2、主函数void main() //主函数{int n=0,i;while(1){ switch (menu()){ case 1: { printf("\n\t 通讯信息录入\n"); //信息录入n=Input(per, n);}break;case 2:printf("\n\t\t\t 通讯录记录表\n"); //显示记录Display(per,n);break;case 3:printf("\n\t保存功能\n");WritetoText(per,n); //保存数据printf("\t");system("pause"); //操作完成后进行暂停break;case 4:printf("\n\t从通讯录中删除记录\n");n=Delete_a_record(per,n); //删除记录printf("\t");system("pause");break;case 5:printf("\n\t修改通讯录中的记录\n");Change(per,n); //修改数据printf("\t");system("pause");break;case 6:printf("\n\t添加记录到通讯录\n"); //添加记录n=Input(per,n);break;case 7:printf("\n\t在通讯录中查找记录\n");Query_a_record(per,n); //查找记录printf("\t");system("pause"); //从程序里调用”pause”命令break;case 0:printf("\n\t\t谢谢使用,再见!\n"); //结束程序printf("\n\t\t");system("pause");exit(0);}五、总程序和分工执行结果#include<stdio.h> /*标准输入输出函数库*/#include<stdlib.h> /*标准函数库*/#include<string.h> /*字符串函数库*/#define FILENAME "phone.dat"struct date //定义一个结构体类型数组{ char name[10]; /*姓名*/char phone[12];char email[20]; /*邮箱*/char QQ[20];}per[10];int menu() //主菜单选择函数{ int c; //定义一个整型变量do{system("cls"); //清屏printf("\t*******通讯录*******\n");printf("\t--------------------\n");printf("\t 1、通讯信息录入\n");printf("\t 2、通讯信息显示\n");printf("\t 3、通讯信息保存\n");printf("\t 4、通讯信息删除\n");printf("\t 5、通讯信息修改\n");printf("\t 6、通讯信息增加\n");printf("\t 7、通讯信息查询\n");printf("\t 0. 退出\n");printf("\t--------------------\n");printf("\t请您选择(0-7):");scanf("%d",&c);}while(c>7&&c<0);return(c);}int Input(struct date per[10],int n){ int i=0;char sign,x[10];while(sign!='n'&&sign!='N'){ printf("\t姓名:");scanf("%s",per[n+i].name);printf("\t电话号码:");scanf("%s",per[n+i].phone);printf("\t电子邮箱:");scanf("%s",per[n+i].email);printf("\tQQ:");scanf("%s",per[n+i].QQ);gets(x);printf("\n\t是否继续添加?(Y/N)");fflush(stdin); //清空缓存scanf("%c",&sign);i++;}return(n+i);}void writeToFile(struct date per[10],int n){ FILE *fp=NULL;int i=0;fp=fopen("phone.dat","wb");if(fp==NULL){ printf("打开文件出错!\n");exit(0);}for(i=0;i<10;i++)fwrite(&per[i],sizeof(per),1,fp); //把字节为1的信息写入文件fclose(fp);}void Display(struct date per[10],int n){ int i;printf("----------------------------------------------------------------------\n"); //格式/printf(" 姓名电话号码QQ 电子邮箱\n");printf("----------------------------------------------------------------------\n");for(i=1;i<n+1;i++){printf("%-15s%-14s%-14s%-14s\n",per[i-1].name,per[i-1].phone,per[i-1].QQ,per[i-1].email);if(i>1&&i%10==0){ printf("\t-----------------------------------\n");printf("\t");system("pause");printf("\t-----------------------------------\n");}}printf("----------------------------------------------------------------------\n");system("pause");}int Delete_a_record(struct date per[10],int n){ char s[20];int i=0,j;printf("\t请输入想删除记录中的名字:");scanf("%s",s);while(strcmp(per[i].name,s)!=0&&i<n) i++;if(i==n){printf("\t通讯录中没有此人!\n");return(n);}for(j=i;j<n-1;j++){ strcpy(per[j].phone,per[j+1].phone);strcpy(per[j].name,per[j+1].name);strcpy(per[j].QQ,per[j+1].QQ);strcpy(per[j].email,per[j+1].email);}printf("\t\t\t已经成功删除!\n");return(n-1);}void Query_a_record(struct date per[10],int n){ int m;printf("\t\n请选择查询方式:\n");printf("\t┌──────┐\n");printf("\t│1------姓名│\n");printf("\t│2------电话│\n");printf("\t│3------返回│\n");printf("\t└──────┘\n");printf("请选择:");scanf("%d",&m);while(m!=1&&m!=2&&m!=3&&m!=4){printf("输入错误,请重新选择:");scanf("%d",&m);}if(m==1){ char s[20];int i=0;printf("\t请输入想查询的姓名:");scanf("\t%s",s);while(strcmp(per[i].name,s)!=0&&i<n) i++;if(i==n){printf("\t通讯录中没有此人!\n");return;}printf("\t此人QQ: %s\n",per[i].QQ);printf("\t电话号码: %s\n",per[i].phone);printf("\t电子邮箱: %s\n",per[i].email);} ;if(m==2){ char s[20];int i=0;printf("\t请输入想查询的电话:");scanf("\t%s",s);while(strcmp(per[i].phone,s)!=0&&i<n) i++;if(i==n){printf("\t通讯录中没有此人!\n");return;}printf("\t此人姓名: %s\n",per[i].name);printf("\t此人QQ: %s\n",per[i].QQ);printf("\t电子邮箱: %s\n",per[i].email);} ;}void Change(struct date per[10],int n){ char s[20];int i=0;printf("\t请输入想修改的记录中的名字:");scanf("%s",s);while(strcmp(per[i].name,s)!=0&&i<n) i++;if(i==n){ printf("\t通讯录中没有此人!\n");return;}printf("姓名:");scanf("%s",per[i].name);printf("电话号码:");scanf("%s",per[i].phone);printf("QQ:");scanf("%s",per[i].QQ);printf("电子邮箱:");scanf("%s",per[i].email);printf("\n修改成功!");}void WritetoText(struct date per[10],int n){ int i=0;FILE *fp; //定义文件指针char filename[20]; //定义文件名printf("\t保存到文件\n"); //输入文件名if((fp=fopen("phone.dat","w"))==NULL){ printf("\t无法打开文件\n");system("pause");return;}fprintf(fp,"***************************************通讯录********************************\n");fprintf(fp," 姓名电话号码QQ 电子邮箱\n");fprintf(fp,"-----------------------------------------------------------------------------\n");while(i<n){ fprintf(fp,"%-10s\t%-3s\t%-20s\t%-20s\n",per[i].name,per[i].phone,per[i].QQ,per[i].email);i++;}fprintf(fp,"-------------------------------------------------------------------------\n");fprintf(fp,"********************************共有%d条记录***************************\n",n);fclose(fp); //关闭文件printf("保存成功!\n");}void main() //主函数{ int n=0,i;while(1){ switch (menu()){ case 1: { printf("\n\t 通讯信息录入\n"); //信息录入n=Input(per, n);}break;case 2:printf("\n\t\t\t 通讯录记录表\n"); //显示记录Display(per,n);break;case 3:printf("\n\t保存功能\n");WritetoText(per,n); //保存数据printf("\t");system("pause"); //操作完成后进行暂停break;case 4:printf("\n\t从通讯录中删除记录\n");n=Delete_a_record(per,n); //删除记录printf("\t");system("pause");break;case 5:printf("\n\t修改通讯录中的记录\n");Change(per,n); //修改数据printf("\t");system("pause");break;case 6:printf("\n\t添加记录到通讯录\n"); //添加记录n=Input(per,n);break;case 7:printf("\n\t在通讯录中查找记录\n");Query_a_record(per,n); //查找记录printf("\t");system("pause");break;case 0:printf("\n\t\t谢谢使用,再见!\n"); //结束程序printf("\n\t\t");system("pause");exit(0);}}}图1 通讯录主菜单结果图2 信息录入图3 通讯信息显示图4 通讯信息保存五、调试与测试所谓程序调试是对程序的查错和排错。
课程设计通讯录
![课程设计通讯录](https://img.taocdn.com/s3/m/5478015778563c1ec5da50e2524de518974bd370.png)
课程设计通讯录一、教学目标本课程的教学目标是使学生掌握通讯录的基本知识,包括通讯录的格式、编排方法和使用技巧。
知识目标要求学生了解通讯录的种类、编排原则和填写方法,能够正确地编排和使用通讯录。
技能目标要求学生能够熟练地使用通讯录,快速地查找和更新联系信息。
情感态度价值观目标要求学生培养良好的信息管理习惯,提高个人信息管理能力,增强与人沟通交流的信心和勇气。
二、教学内容本课程的教学内容主要包括通讯录的基本概念、编排方法和使用技巧。
具体内容包括通讯录的种类、编排原则、填写方法、使用注意事项等。
教学内容按照由浅入深的顺序,先介绍通讯录的基本概念,然后讲解编排方法和使用技巧,最后通过实例分析让学生掌握通讯录的实际应用。
三、教学方法本课程采用讲授法、讨论法和案例分析法相结合的教学方法。
首先,通过讲授法向学生传授通讯录的基本知识和技能;其次,通过讨论法让学生交流自己的想法和经验,提高解决问题的能力;最后,通过案例分析法让学生将所学知识应用到实际情境中,提高解决问题的能力。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。
教材和参考书为学生提供了丰富的理论知识,多媒体资料为学生提供了直观的视觉感受,实验设备为学生提供了实际操作的机会。
通过这些教学资源的使用,学生可以更好地掌握通讯录的知识和技能,提高个人信息管理能力。
五、教学评估本课程的教学评估主要包括平时表现、作业和考试三个部分。
平时表现评估学生的课堂参与度和积极性,作业评估学生的知识掌握和应用能力,考试评估学生的综合运用和解决问题能力。
评估方式应客观、公正,能够全面反映学生的学习成果。
具体评估方法如下:1.平时表现:通过观察学生在课堂上的参与程度、提问回答和小组讨论的表现,评估学生的学习态度和积极性。
2.作业:布置适量的作业,要求学生独立完成,并按时提交。
通过作业的完成质量和创新性,评估学生的知识掌握和应用能力。
3.考试:进行一次期中考试和一次期末考试,考试内容涵盖课程的全部知识点。
c通讯录课程设计报告
![c通讯录课程设计报告](https://img.taocdn.com/s3/m/2212bf412e60ddccda38376baf1ffc4ffe47e2f7.png)
c通讯录课程设计报告一、教学目标本课程的目标是让学生掌握通讯录的基本概念、设计和实现方法。
通过本课程的学习,学生应能理解通讯录的结构和功能,掌握通讯录的编写和使用方法,培养学生的实际动手能力和解决问题的能力。
具体目标如下:1.知识目标:学生能够理解通讯录的基本概念,掌握通讯录的设计和实现方法。
2.技能目标:学生能够编写和使用通讯录,解决实际问题。
3.情感态度价值观目标:学生通过学习通讯录,培养对信息技术的兴趣和热情,增强信息处理的实际能力。
二、教学内容本课程的教学内容主要包括通讯录的基本概念、设计和实现方法。
具体安排如下:1.第一章:通讯录的基本概念,介绍通讯录的定义、功能和分类。
2.第二章:通讯录的设计,介绍通讯录的设计原则、方法和步骤。
3.第三章:通讯录的实现,介绍通讯录的编程语言、技术和工具。
4.第四章:通讯录的应用,介绍通讯录在日常生活和工作中的应用场景。
三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法和实验法等。
具体方法如下:1.讲授法:通过讲解通讯录的基本概念、设计和实现方法,使学生掌握相关知识。
2.讨论法:学生就通讯录的应用场景和实际问题进行讨论,培养学生的思考和表达能力。
3.案例分析法:分析实际案例,使学生了解通讯录在日常生活和工作中的应用,提高学生的实际操作能力。
4.实验法:安排实验课,让学生动手编写和使用通讯录,培养学生的实际动手能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:选用权威、实用的通讯录教材,为学生提供系统、全面的知识体系。
2.参考书:推荐学生阅读相关参考书,拓展知识面,提高学生的自学能力。
3.多媒体资料:制作课件、视频等多媒体资料,直观展示通讯录的设计和实现过程。
4.实验设备:准备计算机、编程环境等实验设备,确保学生能够顺利进行实验操作。
五、教学评估本课程的评估方式包括平时表现、作业和考试等,旨在全面、客观、公正地反映学生的学习成果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
通讯录课程设计报告--通讯录菜单设计通讯录菜单设计报告课程名称: C语言程序课程设计实验名称:通讯录菜单设计姓名:马新芳学号: 2012051436 指导老师:丁富华实践时间:通讯录管理系统设计题目及要求:◆建立通讯录信息,信息至少包含编号、姓名、年龄、电话、通讯地址、电子邮箱等;◆能够提供添加、删除和修改通讯录信息的功能;◆能够提供安不同方式查询的功能;如按姓名或年龄、电话等查询;◆将通讯录保存在文件中;◆能够按表格方式输出通讯录信息。
概要设计系统功能模块图:添加:可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱后,会提示是否继续添加。
显示:可以以表格形式输出所有通讯录里的记录删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容查询:可以选择用姓名、电话、地址三种方式查询修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱即可完成修改保存:,输入文件名(带后缀名)后,即可将通讯录信息保存到文件(2).工作流程图:①添加:添加通讯录记录②显示:显示通讯录记录③删除:删除通讯录记录④查询:查询通讯录记录先选择查询方式,以姓名查询方式为例⑤修改:修改通讯录记录一.源程序代码#include<stdio.h>#include<stdlib.h>#include<string.h>typedef struct{char score; /*编号*/char name[10]; /*姓名*/char num[15]; /*号码*/char email[20]; /*邮箱*/char age[8]; /*年龄*/char adds[20]; /*住址*/}Person;Person pe[80];int menu_select(){char c;do{system("cls");printf("\t\t *****通讯录***** \n");printf("\t\t┌───────┐\n");printf("\t\t│1. 添加记录│\n");printf("\t\t│2. 显示记录│\n");printf("\t\t│3. 删除记录│\n");printf("\t\t│4. 查询记录│\n");printf("\t\t│5. 修改记录│\n");printf("\t\t│6. 保存记录│\n");printf("\t\t│0. 退出程序│\n");printf("\t\t└───────┘\n");printf("\t\t请您选择(0-6):");c=getchar();}while(c<'0'||c>'6');return(c-'0');}int Input(Person per[],int n){int i=0;char sign,x[10];while(sign!='n'&&sign!='N'){printf("\t编号:");scanf("\t%d",&per[n+i].score);printf("\t姓名:");scanf("\t%s",per[n+i].name);printf("\t年龄:");scanf("\t%s",per[n+i].age);printf("\t电话号码:");scanf("\t%s",per[n+i].num);printf("\t通讯住址:");scanf("\t%s",per[n+i].adds);printf("\t电子邮箱:");scanf("\t%s",per[n+i].email);gets(x);printf("\n\t是否继续添加?(Y/N)");scanf("\t%c",&sign);i++;}return(n+i);}void Display(Person per[],int n){int i;printf("----------------------------------------------------------------------\n");/*格式*/printf("编号姓名年龄电话号码通讯地址电子邮箱\n");printf("----------------------------------------------------------------------\n");for(i=1;i<n+1;i++){printf("%-5d%-8s%-6s%-13s%-15s%-15s\n ",per[i-1].score,per[i-1].name,per[i-1].age,per[i-1].num,per[i-1].adds,per[i-1].email);if(i>1&&i%10==0){printf("\t-----------------------------------\n");printf("\t");system("pause");printf("\t-----------------------------------\n");}}printf("----------------------------------------------------------------------\n");system("pause");}int Delete_a_record(Person per[],int n){char s[20];int i=0,j;printf("\t请输入想删除记录中的名字:"); scanf("%s",s);while(strcmp(per[i].name,s)!=0&&i<n) i++; if(i==n){printf("\t通讯录中没有此人!\n");return(n);}for(j=i;j<n-1;j++){strcpy(per[j].num,per[j+1].num);strcpy(per[j].name,per[j+1].name);strcpy(per[j].age,per[j+1].age);strcpy(per[j].adds,per[j+1].adds);strcpy(per[j].email,per[j+1].email);per[j].score=per[j+1].score;printf("\t\t\t已经成功删除!\n");return(n-1);}void Query_a_record(Person per[],int n) {int m;printf("\t\n请选择查询方式:\n");printf("\t┌──────┐\n");printf("\t│1------姓名│\n");printf("\t│2------电话│\n");printf("\t│3------地址│\n");printf("\t│4------返回│\n");printf("\t└──────┘\n");printf("请选择:");scanf("%d",&m);while(m!=1&&m!=2&&m!=3&&m!=4){printf("输入错误,请重新选择:");scanf("%d",&m);if(m==1){char s[20];int i=0;printf("\t请输入想查询的姓名:");scanf("\t%s",s);while(strcmp(per[i].name,s)!=0&&i<n) i++;if(i==n){printf("\t通讯录中没有此人!\n");return;}printf("\t此人编号: %d\n",per[i].score);printf("\t此人年龄: %s\n",per[i].age);printf("\t电话号码: %s\n",per[i].num);printf("\t通讯地址: %s\n",per[i].adds);printf("\t电子邮箱: %s\n",per[i].email); } ;if(m==2){char s[20];int i=0;printf("\t请输入想查询的电话:");scanf("\t%s",s);while(strcmp(per[i].num,s)!=0&&i<n) i++; if(i==n){printf("\t通讯录中没有此人!\n");return;}printf("\t此人编号: %d\n",per[i].score); printf("\t此人姓名: %s\n",per[i].name); printf("\t此人年龄: %s\n",per[i].age); printf("\t通讯地址: %s\n",per[i].adds); printf("\t电子邮箱: %s\n",per[i].email); } ;if(m==3){char s[20];int i=0;printf("\t请输入想查询的地址:");scanf("\t%s",s);while(strcmp(per[i].adds,s)!=0&&i<n) i++;if(i==n){printf("\t通讯录中没有此人!\n");return;}printf("\t此人编号: %d\n",per[i].score);printf("\t此人姓名: %s\n",per[i].name);printf("\t此人年龄: %s\n",per[i].age);printf("\t电话号码: %s\n",per[i].num);printf("\t电子邮箱: %s\n",per[i].email); } ;}void Change(Person per[],int n){char s[20];int i=0;printf("\t请输入想修改的记录中的名字:"); scanf("%s",s);while(strcmp(per[i].name,s)!=0&&i<n) i++; if(i==n){printf("\t通讯录中没有此人!\n"); return;}printf("\t编号:");scanf("\t%d",&per[i].score);printf("\t姓名:");scanf("\t%s",per[i].name);printf("\t年龄:");scanf("\t%s",per[i].age);printf("\t电话号码:");scanf("\t%s",per[i].num);printf("\t通讯住址:");scanf("\t%s",per[i].adds);printf("\t电子邮箱:");scanf("\t%s",per[i].email);printf("\t修改成功!");}void WritetoText(Person per[],int n){int i=0;FILE *fp; /*定义文件指针*/char filename[20]; /*定义文件名*/printf("\t保存到文件\n"); /*输入文件名*/printf("\t请输入所保存的文件名:");scanf("\t%s",filename);if((fp=fopen(filename,"w"))==NULL){printf("\t无法打开文件\n");system("pause");return;}fprintf(fp,"***************************** *************通讯录***************************************** *\n");fprintf(fp,"编号姓名年龄电话号码通讯地址电子邮箱\n");fprintf(fp,"------------------------------------------------------------------------------------------\n");while(i<n){fprintf(fp,"%-3d\t%-6s\t%-3s\t%-13s\t%-20s \t%-20s\n",per[i].score,per[i].name,per[i].age,pe r[i].num,per[i].adds,per[i].email);i++;}fprintf(fp,"------------------------------------------------------------------------------------------\n");fprintf(fp,"***************************** **********共有%d条记录****************************************\ n",n);fclose(fp);/*关闭文件*/printf("保存成功!\n");}void main() /*主函数*/{int n=0;for(;;){switch(menu_select()){case 1:printf("\n\t添加记录到通讯录\n"); /*添加记录*/n=Input(pe,n);break;case 2:printf("\n\t\t\t 通讯录记录表\n"); /*显示记录*/Display(pe,n);break;case 3:printf("\n\t从通讯录中删除记录\n");n=Delete_a_record(pe,n);/*删除记录*/printf("\t");system("pause");break;case 4:printf("\n\t在通讯录中查找记录\n");Query_a_record(pe,n);/*查找记录*/printf("\t");system("pause");break;case 5:printf("\n\t修改通讯录中的记录\n");Change(pe,n); /*修改数据*/printf("\t");system("pause");break;case 6:printf("\n\t保存功能\n");WritetoText(pe,n);/*保存数据*/printf("\t");system("pause");break;case 0:printf("\n\t\t谢谢使用,再见!\n"); /*结束程序*/printf("\n\t\t");system("pause");exit(0);}}}测试数据及其结果分析测试:1).显示的主菜单界面2).添加界面:3).显示界面:4).删除界面:删除后,通讯录里的显示记录:5).查询界面:以姓名查询方式为例:6).修改界面:修改后,通讯录里的显示记录:7).保存界面:。