简单的通讯录实验报告

合集下载

通讯录系统实验报告

通讯录系统实验报告

通讯录系统实验报告通讯录系统实验报告一、引言通讯录系统是一种方便管理联系人信息的工具。

随着社会的发展和科技的进步,人们的联系方式越来越多样化,传统的纸质通讯录已经无法满足人们的需求。

因此,设计和开发一个高效、便捷的通讯录系统成为了一个重要的课题。

二、实验目的本次实验的目的是设计和实现一个通讯录系统,使用户能够方便地存储、查找和管理联系人信息。

通过这个实验,我们可以学习和掌握数据库的基本操作,提高我们的编程能力和实践能力。

三、实验过程1.需求分析在设计通讯录系统之前,我们首先需要进行需求分析。

通过调研和访谈,我们了解到用户对通讯录系统的需求主要包括以下几点:- 用户可以添加、编辑和删除联系人信息;- 用户可以按照姓名、电话号码等字段进行快速查找;- 用户可以导入和导出联系人信息,方便备份和共享;- 界面简洁明了,操作简单易用。

2.数据库设计在进行数据库设计时,我们需要确定通讯录系统的数据结构。

通讯录系统的主要数据包括联系人的姓名、电话号码、邮箱等信息。

我们可以使用关系型数据库来存储这些数据,并通过SQL语句进行操作。

3.界面设计为了提高用户体验,我们需要设计一个简洁明了的界面。

界面设计应该符合用户的使用习惯,操作简单易懂。

在设计界面时,我们可以考虑使用图形化界面或者命令行界面。

4.编码实现在编码实现过程中,我们需要根据需求分析和数据库设计来进行编码。

编码实现的重点是实现用户的各项操作功能,包括添加联系人、编辑联系人、删除联系人、查找联系人等。

5.测试和优化在编码实现完成后,我们需要进行测试和优化。

通过测试,我们可以发现和修复潜在的bug,优化系统的性能和稳定性。

四、实验结果经过几天的努力,我们成功地设计和实现了一个通讯录系统。

该系统具有以下特点:- 界面简洁明了,操作简单易用;- 用户可以方便地添加、编辑和删除联系人信息;- 用户可以按照姓名、电话号码等字段进行快速查找;- 用户可以导入和导出联系人信息,方便备份和共享。

通讯录管理系统实验报告

通讯录管理系统实验报告

实验报告----通讯录管理系统专业:计算机嵌入式班级: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”中。

C语言课程设计通讯录实验报告

C语言课程设计通讯录实验报告

C语言课程设计通讯录实验报告实验目的:本实验旨在通过设计一个通讯录程序,加深理解和掌握结构体、函数和文件操作等C语言知识,并培养学生的实践能力和解决问题的能力。

实验要求:设计一个通讯录程序,能够实现添加联系人、删除联系人、查找联系人、修改联系人信息等基本功能,并能够将联系人信息保存到文件中,实现数据的持久化存储。

实验原理:通讯录程序的数据结构可以设计为一个结构体数组,每个元素表示一个联系人,结构体包含姓名、电话号码、地址等信息。

通过使用不同的函数实现不同的功能,如添加联系人函数addContact()、删除联系人函数deleteContact()、查找联系人函数searchContact()等。

实验步骤:1. 定义一个结构体类型,包含姓名、电话号码和地址等信息。

2. 声明并实现各个功能函数,如添加联系人函数addContact()、删除联系人函数deleteContact()、查找联系人函数searchContact()等。

3. 在主函数中使用循环菜单来实现用户的各种操作选择。

4. 将联系人信息保存到文件中,实现数据的持久化存储。

5. 编译并运行程序,验证程序的正确性和功能完整性。

实验结果:通过实验,成功设计并实现了一个通讯录程序,能够实现添加联系人、删除联系人、查找联系人、修改联系人信息等基本功能,并能够将联系人信息保存到文件中,实现数据的持久化存储。

实验总结:本实验通过设计一个通讯录程序,加深了对结构体、函数和文件操作等C语言知识的理解和掌握,同时也培养了解决问题的能力和实践能力。

通过实验,我进一步理解了结构体的定义和使用、函数的声明和调用、文件的打开和关闭等操作。

在实验过程中,我也遇到了一些问题,如如何优化查找联系人的算法、如何处理文件打开失败的情况等,通过思考和调试逐步解决了这些问题。

实验过程中的问题和解决方法不仅加深了对C 语言的理解,也提高了解决问题的能力。

作通讯录的实训报告

作通讯录的实训报告

随着信息技术的飞速发展,通讯录在人们的工作、生活中扮演着越来越重要的角色。

为了提高同学们对通讯录管理的认识,培养实际操作能力,我校组织了通讯录实训活动。

本次实训旨在使同学们掌握通讯录的基本操作,提高信息处理能力,为今后的工作打下坚实基础。

二、实训目标1. 熟悉通讯录的基本概念和作用;2. 掌握通讯录的创建、编辑、查询、导出等功能;3. 学会使用通讯录进行日常信息管理;4. 培养同学们团队协作和沟通能力。

三、实训内容1. 通讯录基础知识实训老师首先向同学们介绍了通讯录的基本概念、作用以及常见的通讯录类型。

通讯录是一种用于存储和查询联系人信息的工具,可以方便地记录和查找电话、邮箱、地址等个人信息。

常见的通讯录类型有纸质通讯录、电子通讯录等。

2. 通讯录创建与编辑同学们在实训老师的指导下,学习了如何创建一个新的通讯录。

首先,选择合适的通讯录类型,如电子通讯录;然后,输入联系人的姓名、电话、邮箱、地址等基本信息。

在编辑通讯录时,同学们掌握了如何修改、删除、添加联系人信息。

3. 通讯录查询与导出实训老师讲解了如何通过姓名、电话、邮箱等条件在通讯录中查询联系人信息。

此外,同学们还学会了如何将通讯录导出为Excel、Word等格式,方便后续的整理和使用。

4. 实际操作演练为了巩固所学知识,同学们进行了实际操作演练。

在实训老师的带领下,同学们分组进行通讯录管理,包括创建通讯录、添加联系人、查询信息等。

通过实际操作,同学们熟练掌握了通讯录的基本操作。

1. 同学们对通讯录的基本概念、作用有了更深入的了解;2. 掌握了通讯录的创建、编辑、查询、导出等功能;3. 提高了信息处理能力,为今后的工作打下了坚实基础;4. 培养了团队协作和沟通能力。

五、实训总结本次通讯录实训活动,同学们积极参与,认真完成各项任务。

通过实训,同学们对通讯录有了更加全面的认识,掌握了通讯录的基本操作,提高了信息处理能力。

在今后的工作和生活中,通讯录将发挥重要作用,希望同学们能够充分利用所学知识,提高工作效率。

数据结构——通讯录实验报告

数据结构——通讯录实验报告

数据结构——通讯录实验报告
《数据结构课程设计》实验报告
编号实验一实验项目名称通讯录管理
班学姓08计科(1)班学时数 6 指导教师冯韵 5 黄媛级号名
成实验日期 2010年9月7日绩
一、实验目的:使用有关单链表的操作来实现通讯录信息系统的管理二、内容与设计思想:(设计思想、主要数据结构、主要代码结构、主要代码段分析) 设计思想:利用单链表的建立、查询、插入、删除、输出实现通讯录管理。

主要数据结构:单链表的建立、查询、插入、删除。

主要代码结构和分析:
void main( )主函数
for循环实现菜单循环。

int menu_select( ) 菜单选择函数
首先输出菜单选项,将输入的选项赋给sn,用sn判断输入值是否合理。

利用for循环实现重复选择,利用switch调用建立、查询、插入、删除和输出函数。

LinkList CreateList(void)建立带头结点链表
首先利用malloc申请头结点,置结束标志为0.通过0、1选择来结束建表。

三、调试过程(测试数据设计与测试结果分析) 四、总结
1、设计中遇到的问题及解决过程
2、设计中产生的错误及原因分析
3、设计体会和收获
五、评阅意见:。

通讯录管理系统实验报告

通讯录管理系统实验报告

通讯录管理系统实验报告通讯录管理系统实验报告一、引言通讯录是我们日常生活中不可或缺的一部分,它帮助我们记录和管理与各种人的联系方式。

然而,传统的纸质通讯录存在着不便携、易丢失、难以更新等问题。

为了解决这些问题,我们设计并实现了一个通讯录管理系统。

二、系统设计1. 功能设计我们的通讯录管理系统具有以下主要功能:- 添加联系人:用户可以输入联系人的姓名、电话号码、电子邮件等信息,并将其保存到系统中。

- 查找联系人:用户可以根据姓名、电话号码等关键字在通讯录中查找指定的联系人。

- 编辑联系人:用户可以对已有的联系人信息进行修改,包括姓名、电话号码、电子邮件等。

- 删除联系人:用户可以选择删除不需要的联系人信息。

- 导出联系人:用户可以将通讯录中的联系人信息导出为Excel或CSV文件,以便在其他应用程序中使用。

2. 技术实现为了实现上述功能,我们使用了以下技术:- 前端界面:采用HTML、CSS和JavaScript技术,实现用户友好的界面设计。

- 后端逻辑:采用Python编程语言,使用Flask框架搭建Web应用程序。

- 数据存储:使用MySQL数据库存储联系人信息,并通过SQL语句实现数据的增删改查操作。

三、系统实现1. 前端界面我们的前端界面采用了简洁、直观的设计风格,用户可以通过输入框和按钮进行各种操作。

在添加联系人时,用户需要填写姓名、电话号码等信息,并点击保存按钮将联系人信息提交到后端。

在查找联系人时,用户可以输入关键字并点击搜索按钮,系统将根据关键字在通讯录中查找匹配的联系人并显示在界面上。

2. 后端逻辑后端逻辑主要由Flask框架实现,通过路由和视图函数来处理用户的请求。

当用户提交添加联系人的请求时,后端会接收到用户输入的信息,并将其存储到数据库中。

当用户搜索联系人或编辑联系人时,后端会根据用户的请求在数据库中进行相应的查询和更新操作。

当用户删除联系人时,后端会从数据库中删除对应的联系人信息。

通讯录管理实验报告

通讯录管理实验报告

通讯录管理实验报告通讯录管理实验报告一、引言通讯录是现代社会中不可或缺的一项工具,它能够帮助我们有效地管理联系人信息,提高沟通效率。

然而,随着社会的发展和科技的进步,传统的纸质通讯录已经无法满足人们的需求。

因此,本次实验旨在探索和研究通讯录管理的现代化方法。

二、实验目的1. 研究并比较不同通讯录管理软件的功能和特点;2. 分析并评估通讯录管理软件对用户的实际需求的满足程度;3. 提出改进建议,以优化通讯录管理软件的设计和使用体验。

三、实验方法本次实验采用了以下方法:1. 调查问卷:设计并分发调查问卷,收集用户对不同通讯录管理软件的使用体验和需求反馈;2. 功能比较:选取几款常见的通讯录管理软件,对其功能进行详细比较和分析;3. 用户体验测试:邀请一些用户进行实际操作测试,观察他们在使用过程中的反应和问题。

四、实验结果与分析1. 调查问卷结果显示,用户对通讯录管理软件的主要需求是方便快捷地添加、编辑和查找联系人信息,以及支持多种联系方式的整合。

2. 功能比较结果表明,不同的通讯录管理软件在功能上存在差异,有些软件提供了更多的高级功能,如群组管理、备份与恢复等,而有些软件则更注重简洁易用的界面设计。

3. 用户体验测试发现,一些通讯录管理软件存在操作繁琐、界面复杂等问题,导致用户在使用过程中感到困惑和不便。

五、改进建议基于实验结果和分析,我们提出以下改进建议:1. 界面设计优化:通讯录管理软件应该追求简洁、直观的界面设计,方便用户快速上手和操作。

2. 功能定制化:根据用户需求,通讯录管理软件应提供个性化的功能定制选项,使用户能够根据自己的实际需求进行设置。

3. 数据安全保护:通讯录管理软件应加强数据安全保护措施,防止用户隐私信息泄露或丢失。

4. 多平台兼容性:通讯录管理软件应支持多种操作系统和设备,以满足用户在不同设备上的使用需求。

六、结论通过本次实验,我们对通讯录管理软件进行了深入研究和分析,发现了其功能和设计上的一些问题,并提出了相应的改进建议。

手机通讯录实验报告及使用说明(附源代码)

手机通讯录实验报告及使用说明(附源代码)

计算机专业教研室实验报告(数据结构)课程设计手机通讯录小组成员系别班级学号实验日期指导教师实验成绩一、实验内容功能要求:(1)将联系人的信息可以存放在文件中,从文件中也可以读出联系人的信息。

(2)可以添加一个新联系人的信息。

(3)可以删除一个联系人的信息,删除条件为电话号码或姓名。

(4)可以查询一个联系人的信息,查询条件为电话号码或姓名。

(5)可以对联系人的信息进行排序,排序条件为联系人的姓名。

二、实验过程1、整个程序包含三个文件。

手机通讯录.cpp、delong.h 、menu.h(点击产看代码)手机通讯录.cpp [主程序]delong.h [各种函数]menu.h [菜单目录]2、联系人信息包括编号、姓名、手机号码、家庭住址、E-mail、QQ、类别信息。

其中编号分配4位、姓名10位、手机号码13位、地址14位、E-mail 14位、QQ和类别都为12位。

但实际上存储的时候所占位数都要少一位。

因为存储的时候是以字符形式存储,读取的时候以字符串形式读取,需要用最后一位填写字符串结束标志’\0’。

3、函数列表:void AddSpace(int n); /*添加空格*/void Save(FILE *fp,int n,int j); /*将person[MAXSIZE]中的内容放到通讯录.txt*/j==0; 追加方式写入,适用于增加联系人的情况。

j==1; 重新方式写入,适用于修改、删除情况。

三、总结:1、还是有小BUG。

Eg:删除最后一个联系人的时候再输出全部信息时还是能输出一个联系人。

2、代码冗长:Eg:增加操作及存储,得到联系人信息增添空格的时候没有写AddSpace()函数。

在修改操作中得到修改后的联系人信息那里才用AddSpace()函数。

某些地方重复代码较多。

3、函数归编混乱,不利于读看。

四、实验具体实验程序代码(要有注释)、测试结果(最好截图)和实验总结1、开始界面2、创建通讯录,若存在则无须再次创建。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
char post_code[7];
char e_mail[40];
};
class function:public student
{public:
void add();
void del();
void find_num();
void find_name();
void list_num();
void list_name();
char name1[20]="\0";
char num1[20]="\0";
char address1[40]="\0";
char post_code1[7]="\0";
char tel_num1[20]="\0";
char e_mail1[40]="\0";
switch(select)
{
case'1':cout<<"输入要修改的姓名:";
cout<<"电子邮件:";
cin>>stud1[j].e_mail;
outfile.write((char*)&stud1[j],sizeof(stud1[j]));
}
outfile.close ();
}
//删除联系人
void function::del()
{
student stud2[40]={0};
cin>>stud1[j].num;
cout<<"姓名:";
cin>>stud1[j].name;
cout<<"地址:";
cin>>stud1[j].address;
cout<<"电话号码:";
cin>>stud1[j].tel_num;
cout<<"邮编:";
cin>>stud1[j].post_code;
详细设计阶段的任务是要设计出程序的“蓝图”,此设计阶段的结果基本上决定了最终的程序代码的质量。因此衡量程序的质量,不仅要看它的逻辑是否正确、性能是否满足要求,更主要的是要看它是否容易阅读和理解。结构化程序设计技术是实现上述目标的关键技术,是详细设计的逻辑基础。
3.1
#include<iostream>
cout<<"******************************************************************************"<<endl;
cout<<"请选择:";
cin>>select1;
cout<<"------------------------------------------------------------------------------"<<endl;
2.2.3
查询联系人其中按姓名查询,是根据输入待查记录的姓名,查询该记录的信息。
而电话查询,则是根据输入的电话号码,查询该记录的信息,系统将自动识别是输入的固定电话号码还是移动电话号码。
2.2.4排序模块
联系人的排序整理其中按姓名查询,是根据输入待查记录的姓名,查询该记录的信息。
第三章 详细设计
详细设计阶段的根本任务是确定应该怎样具体地实现所要求的系统,也就是说,通过对软件结构进行细化,得到每个模块详细的数据结构和算法。
while(1)
{if(infile.eof())break;
infile.read((char*)&stud3[k],sizeof(stud3[k]));
k++;
}
infile.close();
char name[20]="\0";
cout<<"请输入要修改学生的姓名:";
cin>>name;
int x;
1.
通讯录管理系统在Microsoft Visual C++ 6.0上实现,开发工具是面向对象语言。
1.2
1.2.1数据字段
姓名、电话号码、学号
1.2.2
(1)对记录的录入、删除、显示、查询、修改和排序;
(2)与数据库连接,实现通讯录记录信息的保存于读取;
(3)退出系统时保存信息,以便下次打开系统时进入目前的工作状态。
}
break;
case'4':cout<<"请确认删除所有资料(Y/N)";
char select5;
cin>>select5;
if(sele;)
a.format();
break;
case'5':a.show();break;
case'6':system("cls");break;//清屏函数
第一章 需求与分析
软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。
1.1
1.1.1
Window 7操作系统
1.1.2
计算机硬件:Intel酷睿i5 2G内存
cout<<"请选择:";
char select4;
cin>>select4;
switch(select4)
{
case'1':a.list_num();
break;
case'2':a.list_name();
break;
case'3':break;
default:cout<<"输入错误!"<<endl;
总之,本通讯录管理系统不仅和手工同学录管理系统相比有很大优势,同时按关系显示功能,一定程度上实现了对记录的分类;按姓名查找和按电话号码查找(自动识别是固定电话号码还是移动电话号码)功能的设计,也确实给人们日常生活带来了方便,这样使本系统和其他电子通讯录相比也有自己特有的优势,是一个功能较为完善的通讯录管理系统。
cout<<"******************************************************************************"<<endl;
cout<<"*1.通讯录编辑2.查询联系人3.按序排列4.格式化5.显示通讯录6.清屏7.退出*"<<endl;
void correct();
void format();
void show();
};
//主函数
int main()
{
function a;
char select1;
cout<<endl;
int m=0;
do
{
cout<<"---------------------------------学生通讯录-----------------------------------"<<endl;
if (!outfile)
{
cerr<<"打开错误,程序将退出!";
abort();
}
int i=0;
while(1)
{if(i>k-1)break;//每删除一项就会减少一组数据,所以是k-1
if(!strcmp(stud2[i].name,name))
i=i+1;
if(i>k-1)break;
outfile.write((char*)&stud2[i],sizeof(stud2[i]));
break;
case'3':a.correct();
break;
case'4':break;
default:cout<<"输入错误!"<<endl;
}
break;
case'2':cout<<"1.姓名查找2.学号查找3.返回主菜单"<<endl;
char select3;
cout<<"请选择:";
cin>>select3;
case'3':cout<<"输入要修改的地址:";
cin>>address1;
strcpy(stud3[x].address,address1);
char name[20]="\0";
cout<<"请输入要删除的学生的姓名:";
cin>>name;
ifstream infile("学生通讯录.dat",ios::binary);
if (!infile)
{
cerr<<"打开错误,程序将退出!";
abort();
}
int k=0;
while(1)
student stud1[40]={0};
相关文档
最新文档