通讯录管理系统设计报告
通讯录管理系统c语言课程设计报告课题简介
通讯录管理系统C语言课程设计报告
一、课题简介
通讯录管理系统是一种常见的应用程序,旨在帮助用户组织和管理他们的联系人信息。
本课程设计将利用C语言来实现一个基本的通讯录管理系统,旨在帮助学生掌握C语言编程的基本知识和技能。
二、设计目的
1.帮助学生熟悉C语言的基本语法和编程逻辑;
2.提高学生对数据结构的理解和运用能力;
3.培养学生的编程能力和软件开发思维;
4.提高学生的团队合作和项目管理能力。
三、设计内容
本课程设计将围绕以下几个方面展开:
1.用户界面设计:设计一个简洁直观的用户界面,包括菜单选项、输
入输出界面等;
2.数据结构设计:设计通讯录数据结构,包括联系人姓名、电话号码
等信息的存储方式;
3.功能实现:实现通讯录管理系统的基本功能,包括添加联系人、删
除联系人、查找联系人等操作;
4.文件操作:实现通讯录数据的读写操作,将联系人信息保存到文件
中,以便下次运行时读取;
5.错误处理:处理用户输入错误等异常情况,保证程序的稳定性和可
靠性。
四、预期效果
通过本课程设计,学生将能够掌握以下技能:
1.掌握C语言基本语法和编程逻辑;
2.熟悉数据结构的设计和运用;
3.提高编程能力和软件开发思维;
4.培养团队合作和项目管理能力。
五、总结
通过设计一个通讯录管理系统的C语言课程项目,学生将在实践中加深对C语言的理解和应用,提高编程技能和解决问题的能力。
希望本课程设计能够为学生的编程学习提供一定的帮助和指导。
以上为《通讯录管理系统C语言课程设计报告》的简要介绋,希望能够为课程设计的顺利进行提供一定的参考和指引。
通讯录管理系统c语言课程设计报告(一)
通讯录管理系统c语言课程设计报告(一)通讯录管理系统C语言课程设计报告1. 简介通讯录管理系统是一款基于C语言开发的软件,旨在帮助用户方便地存储、查找、编辑和删除联系人信息。
本报告将对该系统的功能和设计进行详细介绍。
2. 系统功能通讯录管理系统具备以下主要功能:•添加联系人:用户可以输入联系人的姓名、电话号码、电子邮件等信息,并将其添加到通讯录中。
•查找联系人:用户可以根据姓名或电话号码等方式,快速查找通讯录中的联系人信息。
•编辑联系人:用户可以修改通讯录中已有联系人的信息,如电话号码、电子邮件等。
•删除联系人:用户可以从通讯录中删除特定联系人。
•显示通讯录:用户可以查看通讯录中的所有联系人信息。
•退出系统:用户可以选择退出通讯录管理系统。
3. 系统设计数据结构通讯录管理系统主要使用以下数据结构存储联系人信息:•结构体:定义了一个联系人的数据结构,包括姓名、电话号码、电子邮件等字段。
•数组:用于存储多个联系人信息,构成通讯录。
数组的每个元素对应一个联系人的结构体。
主要函数添加联系人函数void addContact(struct Contact contacts[], int *num Contacts)•功能:向通讯录中添加一个联系人。
•输入参数:通讯录数组contacts、通讯录中联系人数量numContacts的指针。
•输出:无。
查找联系人函数void searchContact(struct Contact contacts[], int n umContacts)•功能:根据用户提供的关键词在通讯录中查找联系人。
•输入参数:通讯录数组contacts、通讯录中联系人数量numContacts。
•输出:无。
编辑联系人函数void editContact(struct Contact contacts[], int num Contacts)•功能:根据用户选择的联系人在通讯录中编辑联系人信息。
通讯录管理系统设计报告
通讯录管理系统设计报告一、引言通讯录在日常生活中扮演着重要的角色,用来存储和管理各种联系人信息,方便人们随时找到需要联系的人或组织。
随着移动互联网的普及,通讯录的管理变得更加便捷和高效。
为了提高通讯录的管理效率,我们设计并开发了一款通讯录管理系统。
二、系统概述通讯录管理系统是一个基于Web的应用程序,用户可以通过浏览器访问系统,进行通讯录的管理操作。
系统主要包括以下功能:•用户登录与注册:用户可以注册新账号,并通过账号密码登录系统。
•联系人管理:用户可以添加、编辑、删除联系人信息,包括姓名、电话号码、邮箱等。
•分组管理:用户可以创建分组并将联系人归类到不同分组。
•搜索功能:用户可以通过关键词搜索联系人信息。
•导出和导入功能:用户可以将联系人信息导出为Excel表格,并可以通过Excel文件导入联系人到系统中。
三、系统架构通讯录管理系统采用了前后端分离的架构,前端使用Vue.js框架开发,提供友好的用户界面;后端使用Node.js和Express框架搭建RESTful API,负责数据的存储和管理。
系统中的数据存储在MySQL数据库中,用户的密码使用bcrypt进行加密存储,确保用户信息的安全性。
同时,系统对用户权限进行了细致管理,保障用户在系统中的数据安全。
四、系统界面系统的界面设计简洁直观,用户可以轻松进行操作。
主要包括登录页面、通讯录首页、联系人管理页面、分组管理页面等。
用户登录页面:[登录页面截图]通讯录首页:[通讯录首页截图]联系人管理页面:[联系人管理页面截图]五、系统特色•简洁高效:系统操作简单直观,提供了快速的联系人管理功能。
•个性化定制:用户可以根据自己的需求创建分组,快速查找联系人。
•数据安全:采用了加密技术和权限管理,确保用户数据的安全性。
•导入导出功能:支持Excel文件导入导出,方便用户管理大批量联系人信息。
六、未来展望通讯录管理系统将继续进行优化和迭代,引入更多智能化功能,如联系人推荐、消息提醒等,提升用户体验。
通讯录管理系统需求分析报告
通讯录管理系统需求分析报告一、引言今天,在数字化时代,通讯录管理系统在各行各业中变得越来越重要。
一个高效的通讯录管理系统可以帮助用户有效地管理联系人信息,并提高工作效率。
本报告旨在对通讯录管理系统进行需求分析,以便为系统设计和开发提供指导。
二、背景随着社交网络的普及和信息交流的增加,人们需要一个集中管理联系人信息的工具,以便随时查找和联系他人。
传统的纸质通讯录已经无法满足现代社会的需求,因此数字化的通讯录管理系统成为了必不可少的工具。
三、系统功能需求1. 添加联系人•用户可以输入联系人的姓名、电话号码、邮箱等基本信息。
•系统应支持批量导入联系人信息。
2. 编辑联系人•用户可以编辑已有联系人的信息,如电话号码、邮箱地址等。
3. 删除联系人•用户可以删除不再需要的联系人信息。
4. 查找联系人•用户可以通过姓名、电话号码等关键词快速查找联系人。
5. 分组管理•用户可以将联系人分组,便于管理和查找。
6. 导出联系人•用户可以导出联系人信息,方便备份或分享。
四、非功能需求1. 安全性要求•系统需要保护用户的隐私信息,确保联系人信息不被泄露。
2. 用户友好性•界面简洁直观,操作便捷,提高用户体验。
3. 性能要求•系统要求响应速度快,数据处理效率高。
五、总结通过本需求分析报告,我们明确了通讯录管理系统的功能和非功能需求,为系统设计和开发奠定了基础。
一个高效的通讯录管理系统将有效地提升用户的工作效率和生活质量,我们期待这样一个系统的早日实现。
以上就是本次通讯录管理系统需求分析报告的内容,谢谢阅读!如需了解更多详情,请联系我们的开发团队。
通讯录管理系统实验报告
实验报告----通讯录管理系统专业:计算机嵌入式班级:10455341日期2012-05-28一.实验目的1.通过这一项目的实现,进一步掌握利用连接都数据库进行访问。
2.掌握利用来操纵数据库中的数据的方法。
3.通过本次实验来提高编程能力和独立解决编程问题的能力。
二.实验内容1.设计并实现“通讯录管理系统”。
该系统提供多用户的通讯录管理,并能对通讯录中的联系人分组。
2.具体任务①完成“用户管理”窗口②完成“用户登录”窗口③完成“主窗体”窗口④完成“新增/修改联系人”窗口⑤完成“新增/修改分组”窗口(不在题目要求范围之内)⑥完成“查找联系人”窗口⑦完成“用户注册”窗口(为方便使用用户管理而添加的,不在题目要求范围之内)三.实验环境Microsoft Visual Studio 2008语言:C#四.实验分析、代码及运行结果本次实验实现通讯录管理系统的基本功能,包括用户管理、用户登录、修改/新增联系人、修改/新增分组、查找联系人、用户注册等。
本实验中所有数据全部放在ADDBRS数据库中,该库在Form1_Load中创建,并同时在库中创建Users和Groups两张表,在以后每注册一个用户的时候就同时创建一张以用户名命名的表,用于存储联系人的信息。
主界面中对分组和联系人的增删改已经查看的控件不止一个,但下面的空间均调用菜单栏中的方法来实现操作。
添加/修改联系人为同一个窗口,添加/修改分组为同一个窗口在centerData类中声明一个静态字符串centerData.constr来代替所有代码中连接数据库所用到的字符串。
1.登陆窗体①截图②代码using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data;using System.Data.SqlClient;namespace 通讯录管理系统1{ public partial class Form1 : Form{ public Form1(){ InitializeComponent(); }public void AddLink() //用于将所有注册过的联系人添加在combox1的下拉菜单中{ comboBox1.Items.Clear();SqlConnection con = new SqlConnection();con.ConnectionString = CenterData.constr;con.Open();SqlCommand cmd = new SqlCommand("select name from Users", con);SqlDataReader dr = cmd.ExecuteReader();while (dr.Read()){ comboBox1.Items.Add(dr[0]); }con.Close();}private void Form1_Load(object sender, EventArgs e){ try //该距用于判断数据库ADDBRS是否已经存在{ SqlConnection con = new SqlConnection();con.ConnectionString = CenterData.constr;con.Open();con.Close();}catch //如果不存在try运行出错,则运行该语句,创建数据库和两个表{ SqlConnection conn = new SqlConnection();conn.ConnectionString = "Data Source=localhost;User ID=sa;Password=sa;";onn.Open();SqlCommand cmd = conn.CreateCommand();mandText = "create database [ADDBRS] ";cmd.ExecuteNonQuery();mandText = @"use [ADDBRS] create table Users (name nvarchar(50) NOT NULL,password nvarchar(50) NOT NULL,maxMan int NOT NULL,maxGroup int NOT NULL) ";cmd.ExecuteNonQuery();//Users用于存储用户名、密码、最多组别、最多联系人mandText = @"use [ADDBRS] create table Groups (GroupName nvarchar(50) NOT NULL,UserName nvarchar(50) NOT NULL)";cmd.ExecuteNonQuery();//Groups用于存储每个所有用户的分组信息conn.Close();}finally{ // TODO: 这行代码将数据加载到表“ers”中。
通讯录管理系统课程设计报告系统存储结构
通讯录管理系统课程设计报告系统存储结构一、引言通讯录管理系统是一种方便快捷地存储和管理联系人信息的应用程序。
在该系统中,数据的存储结构至关重要,它直接关系到系统的性能和稳定性。
本文将介绍通讯录管理系统的系统存储结构设计,包括数据的组织方式、存储介质选择等内容。
二、存储结构设计1. 数据的组织方式在通讯录管理系统中,联系人信息是系统中最主要的数据之一。
为了高效地存储和管理这些信息,我们选择采用数据库的方式进行组织。
数据库将联系人信息按照一定的结构进行组织和存储,方便系统对数据的检索和更新。
2. 数据库的选择在选择数据库时,我们考虑到系统的使用特点和性能要求,最终选择了关系型数据库。
关系型数据库具有良好的数据一致性和完整性,能够满足系统的数据管理需求。
同时,支持 SQL 查询语言的特性也使得对数据进行灵活的操作成为可能。
3. 数据表设计在关系型数据库中,数据是以表的形式进行存储的。
针对通讯录管理系统的需求,我们设计了以下几张表:•用户表:用于存储系统的用户信息,包括用户名、密码等;•联系人表:用于存储用户的联系人信息,包括姓名、电话号码、邮箱地址等;•分组表:用于将联系人进行分类管理,方便用户对联系人信息进行组织。
每张表之间通过外键进行关联,确保数据的一致性和完整性。
三、存储介质选择除了数据库存储外,系统还需要选择适当的存储介质来保存一些系统配置信息和用户的登录状态等数据。
我们选择了文件系统作为存储介质,将这些数据以文件的形式进行存储。
四、存储结构的优化为了提高系统的性能和响应速度,我们对存储结构进行了一定的优化。
主要包括以下几点:•索引设计:对关键字段建立索引,加快检索速度;•归档策略:定期对系统中的数据进行归档,减少存储空间的占用;•缓存机制:使用缓存技术对频繁访问的数据进行缓存,减少数据库访问的频率。
五、总结系统存储结构的设计对于通讯录管理系统的性能和稳定性具有重要影响。
通过合理选择数据库和存储介质,并对存储结构进行优化,可以有效提高系统的用户体验和响应速度。
c语言通讯录管理系统课程设计报告
C语言通讯录管理系统课程设计报告一、引言通讯录管理系统是一种常见的实用性软件,用于记录和管理个人或组织的联系人信息。
本文档旨在介绍一种基于C语言开发的通讯录管理系统的设计与实现。
通过本系统,用户可以方便地添加、删除、搜索和编辑联系人信息,实现了通讯录的基本功能。
二、系统需求分析本通讯录管理系统的主要功能包括: 1. 添加联系人:用户可以添加联系人的姓名、电话号码、邮箱等信息。
2. 删除联系人:用户可以根据联系人的姓名或电话号码删除对应的联系人信息。
3. 查找联系人:用户可以根据联系人的姓名或电话号码查找对应的联系人信息。
4. 修改联系人:用户可以修改已存在联系人的信息。
5. 显示所有联系人:用户可以查看通讯录中所有的联系人信息。
三、系统设计1. 数据结构设计为了实现通讯录管理系统,我们需要设计适当的数据结构来存储联系人信息。
在本设计中,使用结构体数组来表示每个联系人的信息,其中每个结构体包含姓名、电话号码、邮箱等成员变量。
struct Contact {char name[50];char phoneNumber[20];char email[50];};2. 功能模块设计本系统主要包含以下几个功能模块:a. 添加联系人模块用户可以选择添加新的联系人,输入姓名、电话号码和邮箱等信息后,系统将在通讯录中添加新的联系人。
b. 删除联系人模块用户可以根据输入的姓名或电话号码查找对应的联系人信息,并选择删除对应的联系人。
c. 查找联系人模块用户可以根据输入的姓名或电话号码查找对应的联系人信息,并在界面上显示查询结果。
d. 修改联系人模块用户可以根据输入的姓名或电话号码查找对应的联系人信息,并选择修改对应的联系人。
e. 显示所有联系人模块用户可以选择显示通讯录中所有的联系人信息,在界面上进行展示。
3. 系统框架设计本系统的整体框架如下:1. 主菜单显示2. 根据用户的选择,进入对应的功能模块四、系统流程图下图展示了通讯录管理系统的整体流程:主菜单 -> 用户选择功能模块 -> 执行对应模块功能五、代码实现以下为通讯录管理系统的部分核心代码实现,完整代码可参考附录部分。
c语言课程设计通讯录管理系统课程设计报告
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)。
五、教学评估本课程的教学评估将综合考虑学生的平时表现、作业、考试等方面,以全面、客观、公正地评价学生的学习成果。
通讯录管理系统课程设计报告书 (2)
数据结构课程设计报告题目:通讯录管理系统设计学院信息工程学院 __________ 专业计算机科学与技术_______________ 年级班别 _ 12级四班___________学号 _2012051419________学生姓名张海涛_____指导教师米文丽___成绩 _2013年12月通讯录管理系统一.需求分析设计题目及要求:◆建立通讯录信息,信息至少包含编号、姓名、年龄、电话、通讯地址、电子邮箱等;◆能够提供添加、删除和修改通讯录信息的功能;◆能够提供安不同方式查询的功能;如按姓名或年龄、电话等查询;◆将通讯录保存在文件中;◆能够按表格方式输出通讯录信息。
系统功能需求分析:主要包含一下多种功能:添加:添加通讯录记录显示:显示通讯录记录删除:删除通讯录记录查询:查询通讯录记录修改:修改通讯录记录保存:将信息保存到文件二.概要设计系统功能模块图:添加:可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱后,会提示是否继续添加。
显示:可以以表格形式输出所有通讯录里的记录删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容查询:可以选择用姓名、电话、地址三种方式查询修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱即可完成修改保存:,输入文件名(带后缀名)后,即可将通讯录信息保存到文件三.详细设计(1).通讯录:typedef struct{char score; /*编号*/char name[10]; /*姓名*/char num[15]; /*号码*/char email[20]; /*邮箱*/char age[8]; /*年龄*/char adds[20]; /*住址*/}Person;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);}}}(2).工作流程图:①添加:添加通讯录记录②显示:显示通讯录记录③删除:删除通讯录记录④查询:查询通讯录记录先选择查询方式,以姓名查询方式为例⑤修改:修改通讯录记录四.测试数据及其结果分析测试:1).显示的主菜单界面2).添加界面:3).显示界面:4).删除界面:删除后,通讯录里的显示记录:5).查询界面:以姓名查询方式为例:6).修改界面:修改后,通讯录里的显示记录:7).保存界面:tongxunlu.txt文件截图:问题思考:1.当我在进行删除、查询、修改、保存等功能时,以查询为例,输入名字按回车后,虽然会显示该人的所有记录,但是显示后,它马上自动消失了,还没来得及等我看内容。
pb设计报告(通讯录管理系统)
《数据库设计语言》课程设计报告学号:20056184姓名:李文伟专业:计算机科学与技术班级:2005级8班2008-2009第1学期通讯录管理系统的设计一、系统功能本系统主要实现通讯录用户的注册、登陆、修改,通讯录信息的插入、删除、检索、预览等功能,方便用户对通讯信息的管理,提高工作效率。
详细分为如下模块:用户登录模块,通讯录管理模块。
其中登录模块实现新用户注册,已注册用户的登陆,密码修改的功能;通讯录管理模块实现如下功能:信息的录入,删除,查找,检索的功能。
系统结构图:二、数据库设计本系统需要存储的数据量不是很大,采用PB自带的本地数据库即可满足需求,数据库中具体的表为用户信息表,通讯录表。
数据表的详细信息如下:(1)用户基本信息表保存用户的基本信息。
表1 用户基本信息表(2)通讯表保存所有用户通讯录的基本信息。
三、系统详细设计详细阐述各个模块的功能以及实现方法。
本系统共分为两个模块:用户登录模块和通讯录管理模块。
其详细功能分别如下:(一)、用户登录模块:实现新用户的注册,已注册用户的登录,密码修改。
本模块根据具体的功能又将用户登录模块具体分为相应子模块。
用户注册子模块:一个完整的系统,注册模块是必不可少的,其中注册模块根据用户填写的具体信息,向服务器提交请求,完成用户的注册,注册成功后用户便可根据自己填写的注册信息登录系统。
用户登录子模块:用户根据注册时填写的信息登录系统,若填写用户名或密码有误,系统自动弹出提示对话框:提示用户相关信息,以便用户重新输入,输入正确信息后即可安全登录系统。
密码修改子模块:已注册用户可登陆此模块进行密码修改设置,填写相关信息后,系统将信息保存到本地数据库并提示密码修改成功。
(二)、通讯录管理模块:实现通讯录的管理。
本模块根据具体的功能又细分为如下几个子模块:预览子模块,查找子模块,检索子模块。
预览子模块:实现信息的录入、删除、保存。
具体根据用户的需求,对通讯录实现增、删、改。
通讯录管理系统毕业设计(两篇)2024
引言概述:通讯录管理系统是一种用于管理联系人信息的软件,它能够为用户提供便捷的联系人管理和信息查询功能。
本文将继续介绍通讯录管理系统的设计和实现,重点关注系统的用户界面设计、数据存储与管理、通讯录的分类与搜索功能、用户权限管理以及通讯录系统的扩展与升级。
正文内容:1.用户界面设计1.1设计原则:用户友好性、易用性和美观性原则1.2主界面设计:主界面布局、功能模块展示、导航设计1.3交互设计:交互方式、操作流程、反馈机制1.4响应式设计:适配多种设备和屏幕分辨率2.数据存储与管理2.1数据库设计:确定实体和属性、建立表结构、定义关系2.2数据库连接:连接数据库、读写操作、异常处理2.3数据备份与恢复:数据备份策略、备份文件管理、数据恢复机制2.4数据安全性:权限控制、数据加密、数据完整性3.通讯录的分类与搜索功能3.1通讯录分类:基本分类和用户自定义分类3.2联系人添加与编辑:输入验证、字段定义、数据关联3.3联系人查询:关键字查询、条件过滤、多条件组合查询3.4联系人导入导出:支持多种数据格式、数据匹配与转换、导入导出策略3.5通讯录分享与同步:用户权限设置、跨设备同步、冲突解决4.用户权限管理4.1用户注册与登录:用户信息获取、身份验证、登录状态管理4.2用户权限分配:管理员与普通用户权限区分、权限控制细化4.3用户信息管理:个人信息修改、密码重置、账号注销4.4安全性保护:登录失败锁定、密码加密、会话管理5.通讯录系统的扩展与升级5.1模块化设计:可插拔式功能模块、模块间接口定义5.2扩展性设计:支持插件开发、动态加载与卸载5.3性能优化:数据索引优化、查询优化、缓存机制5.4系统升级:版本管理、更新提示、升级策略总结:通过上述的详细阐述,我们可以看到,通讯录管理系统涵盖了用户界面设计、数据存储与管理、通讯录的分类与搜索功能、用户权限管理以及通讯录系统的扩展与升级等多个关键领域。
在该系统的设计过程中,我们需要重点关注用户友好性、数据安全性和系统的可扩展性。
通讯录管理系统课程设计报告
通讯录管理系统课程设计报告一、引言通讯录管理系统是一种用于存储和管理联系人信息的应用程序,它可以帮助用户方便地记录和查找各种联系人信息。
在本课程设计报告中,我们将讨论通讯录管理系统的设计和实现过程,以及系统的功能特点和操作流程。
二、需求分析通讯录管理系统需要具备以下基本功能: 1. 添加联系人信息:用户可以输入姓名、电话号码、电子邮件地址等信息来添加新的联系人。
2. 查找联系人信息:用户可以通过姓名或电话号码等关键词来查找已添加的联系人信息。
3. 修改联系人信息:用户可以对已有联系人信息进行修改和更新。
4. 删除联系人信息:用户可以选择删除不需要的联系人信息。
5. 显示所有联系人信息:系统可以按照一定的格式将所有联系人信息展示给用户。
三、系统设计1. 数据结构为了存储联系人信息,我们可以使用一个包含姓名、电话号码、电子邮件地址等字段的结构体来表示每个联系人。
可以使用链表或数组来组织所有联系人信息。
2. 模块设计通讯录管理系统可以划分为以下几个模块: - 添加联系人模块:实现添加新联系人信息的功能。
- 查找联系人模块:实现根据关键词查找联系人信息的功能。
- 修改联系人模块:实现对已有联系人信息进行修改和更新的功能。
- 删除联系人模块:实现删除不需要的联系人信息的功能。
- 显示联系人模块:实现将所有联系人信息按照一定格式展示给用户的功能。
3. 用户界面设计用户界面应该简洁明了,包括各个功能的按钮或选项,以及输入框和显示信息的区域。
用户应该能够方便地进行各种操作和查看联系人信息。
四、系统实现1. 数据存储可以使用文件来存储联系人信息,也可以使用数据库来进行数据持久化。
2. 界面实现可以使用图形界面或命令行界面来实现用户交互功能,不同的界面设计会影响用户体验。
3. 功能实现根据需求分析中的功能,实现各个模块的功能代码,确保系统可以正确地完成相关操作。
五、功能测试在系统实现完毕后,需要进行功能测试,确保系统的各个功能都能正常运行,并且符合需求。
通讯录管理系统课程设计报告总结
通讯录管理系统课程设计报告总结一、引言通讯录管理系统作为一种常见的信息管理工具,在日常生活中发挥着重要作用,能够帮助人们方便地管理和查找联系人信息。
本次课程设计旨在设计和实现一个简单的通讯录管理系统,运用所学的软件开发技术和方法,提升学生的实际项目开发能力。
二、需求分析本系统主要包括以下功能模块: 1. 用户登录和注册:用户可以通过用户名和密码登录系统,也可以注册新用户; 2. 通讯录管理:用户可以添加、删除、修改联系人信息,并可以按照姓名、电话号码等字段进行排序和搜索; 3. 导入和导出:用户可以将通讯录数据导出到文件中,也可以从文件中导入数据; 4. 权限管理:管理员可以对用户进行管理,设定不同用户的权限和角色。
三、设计与实现本系统采用Python语言进行开发,使用了Django框架进行Web应用的搭建,并结合SQLite数据库实现数据的存储和管理。
系统的前端页面采用HTML、CSS和JavaScript进行设计,实现了用户友好的界面交互。
在系统的设计过程中,我们遵循了软件工程的相关原则和方法,包括需求分析、概要设计、详细设计、编码和测试等阶段。
通过团队合作,我们按照功能模块分工合作,每位成员负责不同的部分,最终将各部分整合在一起进行测试和优化。
四、测试与优化在系统开发过程中,我们进行了严格的测试工作,包括单元测试、集成测试和系统测试等,确保系统的功能正常运行和性能优秀。
在测试过程中,我们发现了一些问题并对其进行了优化,提高了系统的稳定性和用户体验。
五、总结与展望通过本次通讯录管理系统课程设计,我们深入了解了软件开发的整个流程,提升了团队协作能力和项目管理能力。
在未来的学习和工作中,我们将继续探索软件开发领域,不断提高自己的技术水平,为社会和行业做出更多贡献。
以上是本次通讯录管理系统课程设计的报告总结,希望能够对读者有所启发和帮助。
感谢大家的支持与关注!。
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语言开发基本的应用程序,掌握面向对象编程的基本原理和技巧。
通讯录管理系统课程设计报告总结
任务名称:通讯录管理系统课程设计报告总结一、引言通讯录管理系统是一种用于管理联系人和通讯信息的应用程序。
该系统的设计旨在满足用户对个人和组织通讯信息的管理和查询需求。
本报告对通讯录管理系统的设计过程进行总结,并提出了改进建议。
二、系统需求分析在进行系统设计前,我们首先对用户需求进行了深入分析。
以下是我们对通讯录管理系统的需求分析总结:2.1 用户需求1.用户需要能够方便地添加、删除和编辑联系人信息。
2.用户需要能够快速搜索和查找特定联系人的信息。
3.用户需要能够导出通讯录信息并与其他应用程序集成。
4.用户需要能够进行批量操作,如导入联系人信息或发送批量邮件。
2.2 系统需求1.系统需要提供用户友好的用户界面,操作简单直观。
2.系统需要具备高效的搜索和查询功能,以满足用户的快速查找需求。
3.系统需要能够存储大量联系人信息,并确保数据安全性和完整性。
4.系统需要提供数据导入导出功能和与其他应用程序的集成能力。
三、系统设计在系统设计阶段,我们采用了面向对象的方法进行系统建模和设计。
以下是系统设计的要点:3.1 系统架构通讯录管理系统采用了三层架构模式:表示层、业务逻辑层和数据访问层。
这种架构模式将系统的功能划分为不同的层次,方便系统的维护和扩展。
3.2 数据库设计我们使用了关系型数据库来存储和管理通讯录信息。
数据库设计包括联系人表、联系人组表等。
通过合理的数据表设计,实现了联系人和联系人组之间的关联和查询。
3.3 用户界面设计为了提供用户友好的界面,我们通过使用图形用户界面(GUI)的方式构建了系统界面。
界面设计简洁明了,用户可以方便地进行联系人管理和查询操作。
3.4 功能设计根据用户需求,系统实现了联系人的添加、删除、编辑等功能。
同时,系统还提供了高效的搜索和查询功能,用户可以通过姓名、电话号码等信息快速查找联系人。
四、系统实现与测试在系统实现阶段,我们按照设计要求逐步开发各个模块,并进行了系统测试。
通讯录管理系统课程设计报告需求分析
通讯录管理系统课程设计报告需求分析一、背景介绍在当今社会,随着通讯技术的不断发展和普及,通讯录管理系统成为人们日常生活和工作中不可或缺的工具。
为了提高通讯录管理系统的便捷性和效率,本课程设计旨在分析通讯录管理系统的需求,进而设计一个功能完善、操作简便的系统,满足用户的实际需求。
二、需求分析1. 功能需求通讯录管理系统应具备以下基本功能: - 添加联系人:用户可以录入新的联系人信息,包括姓名、电话号码、邮箱等。
- 编辑联系人:用户可以修改已有联系人的信息。
- 删除联系人:用户可以删除不需要的联系人信息。
- 搜索联系人:用户可以根据关键词快速搜索联系人信息。
- 分组管理:用户可以对联系人进行分类管理,方便查找和管理。
2. 性能需求通讯录管理系统的性能需求包括: - 快速响应:系统应具备快速响应用户操作的能力,保证用户体验流畅。
- 数据安全:系统需要保障用户数据的安全性,防止数据泄露和丢失。
- 稳定性:系统需要保持稳定运行,避免出现频繁的崩溃和错误。
3. 可靠性需求通讯录管理系统的可靠性需求包括: - 数据备份:系统应具备数据备份和恢复功能,确保数据不会因意外情况丢失。
- 异常处理:系统需要具备异常处理机制,能够处理用户操作中出现的异常情况。
- 用户权限管理:系统需要对用户进行权限管理,保证只有授权用户可以访问和操作系统。
4. 易用性需求通讯录管理系统的易用性需求包括: - 界面友好:系统界面设计应简洁明了,操作逻辑清晰,便于用户使用。
- 操作简便:用户操作应简单明了,不需要复杂的步骤就能完成常用功能。
- 提示反馈:系统应提供操作提示和反馈,帮助用户正确使用系统。
三、总结基于以上需求分析,通讯录管理系统应具备功能完善、性能优良、可靠稳定、易用便捷的特点,以满足用户的实际需求。
通过本课程设计,我们将致力于设计一个满足以上需求的通讯录管理系统,为用户提供便捷高效的通讯录管理体验。
以上是对通讯录管理系统课程设计报告需求分析的整体内容,系统将围绕这些需求进行设计和实现。
通讯录管理系统课程设计报告函数调用关系图
通讯录管理系统课程设计报告函数调用关系图一、引言通讯录管理系统是一种重要的信息管理工具,用于记录个人或团体的联系信息并进行管理。
在本课程设计报告中,将介绍通讯录管理系统的设计以及函数调用关系图。
二、系统设计概述通讯录管理系统的设计目标是实现对联系人信息的存储、检索、更新和删除等操作。
系统主要包括以下功能模块:用户登录、联系人信息管理、数据存储、数据检索等。
三、函数调用关系图以下是通讯录管理系统中各功能模块的函数调用关系图:1. 用户登录模块•login(): 用户登录函数–调用:check_username()–调用:check_password()–调用:show_main_menu()2. 联系人信息管理模块•add_contact(): 添加联系人函数–调用:validate_input()–调用:save_contact()•delete_contact(): 删除联系人函数–调用:search_contact()–调用:confirm_delete()•update_contact(): 更新联系人信息函数–调用:search_contact()–调用:modify_contact()3. 数据存储模块•save_contact(): 保存联系人信息函数4. 数据检索模块•search_contact(): 检索联系人信息函数四、总结通过本报告中的函数调用关系图,我们能清晰了解通讯录管理系统各功能模块之间的调用关系,确保系统设计合理、功能完整。
通讯录管理系统的设计将便捷用户管理联系人信息,提高信息管理效率。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
通讯录管理系统设计报告姓名: Spring Brother 学号:专业:指导教师:目录【摘要】 (3)第1章概述(_黑体小二号字) (4)1.1系统实现的目标(黑体小三号字) (4)1.2系统实现方案 (4)1.3系统实现环境 (4)1.4具体的开发方法 (4)第2章系统设计 (5)2.1总体设计 (5)2.2类设计 .......................................................................................................... 错误!未定义书签。
2.3数据结构 (6)2.4界面设计 (7)第3章系统实现 (8)参考文献 (11)【摘要】日益繁多的人际交往使得我们很难记住与每个人之间的联系方式,通讯录能够便捷的给我们带来所需要的相关信息。
而随着计算机的普及,人们的生活摆脱了传统式的记事本、电话簿,越来越多的靠计算机或者手机中的电话簿程序来帮助人们记住这些事情,极其简便。
这就需要有一个使用的通讯录管理系统,用户可以方便的通过自己电脑的通讯录管理系统,来随时查阅自己所需要的信息,而不必再大费周折去翻开那繁琐的记事本。
通讯录管理系统是一个专门针对储存用户联系方式以及一些简单个人信息的实用管理系统,它方便了用户对众多客户、朋友、同事等个人信息的储存和快速查阅的功能,大大减少了查找过程的时间。
【关键词】C++ 通讯录管理查找修改删除类第1章概述1.1 系统实现的目标(1)录入:通讯录信息包括:姓名,电话,地址,E-mail,邮编等信息。
(2)更新:能插入、删除通讯录信息。
.(3)浏览:能够查看所有的通讯录信息。
(4)查询:能实现指定姓名信息查询或指定编号查询功能。
(5)系统以菜单方式工作,界面友好,易于操作。
1.2 系统实现方案为实现系统功能,本程序主要分为五个模块。
它们分别为:输入一个信息、删除一个信息、查询一个信息、插入一个信息、列出所有的信息、退出该程序。
这五个函数再通过主函数调用分别得以实现。
主函数,首先提供了程序运行时的友好界面,列出了清单,提供用户做出选择,以便决定使用通讯录的哪种功能。
然后,通过执行多分支选择语句——switch语句,分别实现其它各个函数的调用功能。
1.3 系统实现环境通过VC++6.0用C++语言对程序进行编写设计在windows界面下用DOS访问1.4 具体的开发方法用面向对象的程序设计方法,运用C++语言编写程序进行该学生考勤管理系统的详细设计,使之能提供录入、显示、查找、删除、修改的功能。
最后在VC++6.0环境下编写和调试程序,进而完成系统的实现。
第2章系统设计2.1 总体设计功能:1.输入联系人的信息2.显示联系人的信息3.查找联系人的信息4.删除联系人的信息5.编辑人的信息2.2 类设计2.3 数据结构2.4 界面设计提示:系统的主窗体、登陆窗口、数据编辑窗口、数据查询、数据输出登陆界面:§ § § § § § § § § § § § § § § § § § § § § § § § § § § § § § § § § §★★※通迅录※"★★※ 1. 添加新联系人 4. 修改联系人信息※★★※ 2. 删除联系人 5. 查找联系人. ※★★※ 3. 显示所有联系人 6. 退出程序※"★★"§ § § § § § § § § § § § § § § § § § § § § § § § § § § § § § § § § § §输出界面:姓名电话e-mail 地址邮编XX 3243244 ************三亚荔枝沟镇123号572000第3章系统实现#ifndef yyy#define yyy#include<iostream>#include<string>#include<fstream>#include<iomanip>using namespace std;class book{protected:int num;char name[20];char sex[6];char add[20];char tel[15];char email[30];public:book *next;book(){ }~book(){ }char* getname(){ return name; }int getnum(){ return num;}void input(){int e=1;cout<<"按照提示输入:"<<endl;cout<<"\t\t输入联系人编号:";cin>>num;cout<<"\t\t输入姓名: ";cin>>name;do{cout<<"\t\t输入性别: ";cin>>sex;if(strcmp(sex,"男")==0 || strcmp(sex,"女")==0){cout<<"\t\t输入年龄: ";cin>>age;cout<<"\t\t输入生日: ";cout<<"\t\t输入地址: ";cin>>add;cout<<"\t\t输入电话: ";cin>>tel;cout<<"\t\t输入e-mail: ";cin>>email;e=0;}else{cout<<"\t\t\t无此类型性别!重新输入!"<<endl;e=1;}}while(e);}void input(book &is){is.num;;is.sex;is.add;is.tel;is.email;}void output(){cout<<"基本信息如下:"<<endl;cout<<"编号:"<<num <<" 姓名:"<<name<<" 性别:"<<sex<<" 地址:"<<add<<" 电话:"<<tel<<" e-mail:"<<email<<endl;}void output(book &os){os.num;;os.add;os.tel;os.email;}};#endif登陆界面:信息录入:信息查询:参考文献[美]Robert L.Krusw,Alexander J.Ryba著,钱丽萍译,C++数据结构与程序设计,清华大学出版社,2004谭浩强编著,C++程序设计,清华大学出版社,2004刁成嘉主编,面向对象C++程序设计,机械工业出版社,2004附录#include <iostream>#include <string>#include <iomanip>#include <fstream>#include <cstdlib>using namespace std;class book{public:book();//默认构造函数char inter_face();//首页void add_person();//添加联系人void del_person();//删除联系人void show_all();//显示所有联系人void alter();//修改信息void select();//查询联系人void save_new();//保存新增加的联系人private:string name;//姓名string address;//地址string number;//电话号码string post;//邮编string mail;//E-mail};book::book(){name = "\0";address = "\0";number = "\0";post = "\0";mail = "\0";}//首页char book::inter_face(){system("cls");cout <<endl;cout<<"\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§" <<endl<<"\t\t★★" <<endl<<"\t\t※通迅录※" <<endl<<"\t\t★★" <<endl<<"\t\t※ 1. 添加新联系人 4. 修改联系人信息※" <<endl<<"\t\t★★" <<endl<<"\t\t※ 2. 删除联系人 5. 查找联系人. ※" <<endl<<"\t\t★★" <<endl<<"\t\t※ 3. 显示所有联系人 6. 退出程序※" <<endl<<"\t\t★★" <<endl<<"\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§" <<endl <<endl<<"\t\t\t选择:" ;char choose;cin >>choose;fflush(stdin);return choose;}//添加联系人void book::add_person(){cout <<endl <<"根据下面提示输入新联系人信息" <<endl <<endl<<"姓名:" ;cin >>name;fflush(stdin);cout <<"电话: ";cin >>number;fflush(stdin);cout <<"E-mail : ";cin >>mail;fflush(stdin);cout <<"邮编: ";cin >>post;fflush(stdin);cout <<"地址: ";cin >>address;fflush(stdin);save_new();cout <<endl <<endl <<"联系人信息已保存" <<endl <<endl;system("pause");}//删除联系人void book::del_person(){ofstream outData("temp.txt", ios::out);ifstream inData("pbook.txt", ios::in); //if (!outData || !inData){cout <<endl <<"文件未找到" <<endl;system("pause");return;}string sign;cout <<endl <<"请输入要删除输入姓名或电话:";cin >>sign;string str1;bool flag = true;string str;while (inData >>name >>number){getline(inData, str);if ((sign==name) || (sign==number)){cout <<endl <<"请输入想删除的联系人:" <<endl <<endl;cout <<str1 <<endl;cout <<setiosflags(ios::left) <<setw(17) <<name<<" " <<number <<str <<endl;flag = false;break;}outData <<setiosflags(ios::left) <<setw(17) <<name <<" " <<number <<str <<endl;}if (flag){cout <<endl <<"电话簿中无此人" <<endl <<endl; }else{while (getline(inData, str)){outData <<str <<endl;}outData.close();inData.close();ofstream out("pbook.txt", ios::out);ifstream in("temp.txt", ios::in);if (!out || !in){cout <<endl <<"文件不能打开" <<endl <<endl;system("pause");return;}while (getline(in, str)){out <<str <<endl;}out.close();//in.close();cout <<endl <<"信息已删除" <<endl <<endl;}system("pause");}//显示所有联系人void book::show_all(){ifstream inData("pbook.txt",ios::in);if (!inData){cout <<endl <<"没有找到文件" <<endl;system("pause");return;}bool flag = true;string record;while (getline(inData, record)){if (flag){cout <<endl <<"所有联系人信息如下: "<<endl;cout <<endl <<"姓名电话E-mail 邮编地址: "<<endl;}cout <<record <<endl;flag = false;}if (flag){cout <<endl <<"你的通迅录中没有联系人" <<endl <<endl;}else{cout <<endl <<"所有联系人已经全部显示出来" <<endl <<endl;}system("pause");}//修改信息void book::alter(){ofstream outData("temp.txt", ios::out);ifstream inData("pbook.txt", ios::in); //if (!outData || !inData){cout <<endl <<"未找到文件" <<endl;system("pause");return;}string sign;cout <<endl <<"你要修改输入姓名或电话号:";cin >>sign;string str1;bool flag = true;string str;while (inData >>name >>number){getline(inData, str);if ((sign==name) || (sign==number)){cout <<endl <<"输入想修改的联系人:" <<endl <<endl;cout <<str1 <<endl;cout <<setiosflags(ios::left) <<setw(17) <<name<<" " <<number <<str <<endl;cout <<endl <<"请根据下面提示修改信息: " <<endl;cout <<"姓名:" ;cin >>name;fflush(stdin);cout <<"电话:";cin >>number;fflush(stdin);cout <<"E-mail :";cin >>mail;fflush(stdin);cout <<"邮编:";cin >>post;fflush(stdin);cout <<"地址:";cin >>address;fflush(stdin);save_new();flag = false;break;}outData <<setiosflags(ios::left) <<setw(17) <<name <<" " <<number <<str <<endl;}if (flag){cout <<endl <<"通讯簿中无此人" <<endl <<endl; }else{while (getline(inData, str)){outData <<str <<endl;}outData.close();inData.close();ofstream out("pbook.txt", ios::out);ifstream in("temp.txt", ios::in);if (!out || !in){cout <<endl <<"文件不能打开" <<endl <<endl;system("pause");return;}while (getline(in, str)){out <<str <<endl;}out.close();in.close();cout <<endl <<"信息已修改" <<endl <<endl;}system("pause");}//查询联系人void book::select(){ifstream inData("pbook.txt",ios::in);if (!inData){cout <<endl <<"文件未找到" <<endl;system("pause");return;}string sign;cout <<endl <<"输入想查找的联系人的姓名或电话: ";cin >>sign;fflush(stdin);string str1;bool flag = true;string str;while (inData >>name >>number){getline(inData, str);if ((name==sign) || (number==sign)){cout <<endl <<"你要查找的联系人是: " <<endl <<endl;cout <<str1 <<endl;cout <<setiosflags(ios::left) <<setw(17) <<name<<number <<str <<endl;flag = false;system("pause");break;}}}void book::save_new(){ofstream outData("pbook.txt", ios::app);if (!outData){cout <<endl <<"文件打开失败" <<endl <<endl;system("pause");return;}outData << setiosflags(ios::left) << setw(17) << name<<" " << setw(16) << number <<" "<< setw(18) << mail <<" "<< setw(14) << post <<" "<< setw(20) << address <<endl;outData.close();}通讯录管理系统《C++ 设计报告》enum power{ADD = '1', DEL = '2', SHOW = '3', Alter = '4', Select = '5', END = '6'};int main(){char choose;book abj;while (choose = abj.inter_face()){switch (choose){case ADD:abj.add_person();////添加联系人break;case DEL:abj.del_person();////删除联系人break;case SHOW:abj.show_all();////显示所有联系人break;case Alter:abj.alter();////修改信息break;case Select:abj.select();////查询联系人break;case END:cout <<endl <<"欢迎再次使用" <<endl <<endl;exit(0);break;default:break;}}return 0;}Page 21 of 21。