通讯录实训实验报告

通讯录实训实验报告
通讯录实训实验报告

实训报告

题目:通讯录

院系:信息科技学院

专业:计算机科学与技术姓名: ***

学号: ****

指导教师: ******

日期: 2012年1月7日

电子科技大学信息科技学院

目录

1 问题定义 (4)

2 系统设计 (4)

2.1 总体设计 (4)

2.2 详细设计 (6)

2.2.3 输入记录模块 (7)

2.2.4 查询记录模块 (8)

2.2.5 更新记录模块 (8)

2.2.6 统计记录模块 (8)

3 系统实现 (9)

3.1 编码 (9)

3.1.1 程序预处理 (9)

3.1.2 主函数main() (9)

3.1.3 主菜单界面 (9)

3.1.4 表格形式显示记录 (10)

3.1.5 记录查找定位 (10)

3.1.6 格式化输入数据 (10)

3.1.7 增加记录 (10)

3.1.8 查询记录……………………………………………………………………10…

3.1.9 删除学生记录 (11)

3.1.10 修改记录 (11)

3.1.11 插入记录 (12)

3.1.12 统计记录 (12)

3.1.13 排序记录 (13)

3.1.14 存储记录 (13)

3.1.15 截图 (17)

前言

课程设计环节是应用型本科院校非常重要的一个教学环节,是学完一门课后应用本课知识及以前的知识积累而进行的综合性、开放性的训练。通过课程设计,不仅能够使学生得到系统的技能训练,巩固和加强所学得专业理论知识,而且能够培养学生工程意识、创新能力、团队精神等综合素质,培养学生的设计能力和解决实际问题的能力。

C语言由于其强大的功能,丰富的表达能力,高效的代码,良好的移植性和灵活性,自1972年问世以来,经久不衰,即使现在出现了面向对象的程序设计方法和开发工具,但它仍然是人们学习程序设计的首选语言,用它训练和提高编程技术,以及开发应用程序等。

我们通过《C语言程序设计》这门课程的学习,已经能编写解决小问题的程序,对程序的开发也有了初步的认识,还掌握了C 语言的基本语法,这一过程确确实实令我们感到欣喜,有点计算机可以完成自我任务的成就感。但是,对于程序设计而言,学习C 的步伐不应该停留于此。我们最终的目的应该是掌握开发大型综合程序的方法,即遵循软件工程的开发步骤和结构化程序设计思想,用C 语言开发出解决复杂问题的大型综合程序。可是对于多数学生来说,学习了C语言后,除了应付各种考试之外,别无它用,对Turbo C语言丰富的函数知之甚少,加上DOS环境所限,因而对C语言兴趣不大,也感到C语言比较难以掌握。

本实训就是为了让学生在学完C语言后进一步了解C语言的知识,掌握C语言在软件开发方面的使用方法,希望通过此次实训,不仅能提高学生学习C语言的兴趣,更为今后学习其它专业知识及开发程序打下坚实的基础。

本指导书中有些容借鉴了互联网上相关程序的设计思想,在此对相关者表示衷心的感。

由于时间、经验及水平的原因,不当、不足之处,请大家提出宝贵意见。

编者

通讯录系统

本题目设计目的是训练学生的基本编程能力,了解管理信息系统的开发流程,熟悉C 语言的文件和单链表的各种基本操作。本程序中涉及结构体、单链表、文件等方面的知识。通过本程序的训练,使学生能对C语言的文件操作有一个更深刻的了解,掌握利用单链表存储结构实现对学生成绩管理的原理,为进一步开发出高质量的管理信息系统打下坚实的基础。

1、问题定义

创建一个通讯录管理系统。假设系统中每个人录只包括、,如下图所示,选择任意菜单后,实现相应功能。

在问题定义阶段要考虑题目的可行性和需求分析,接下来进入开发阶段,完成系统设计和系统实现的任务。

2、系统设计

2.1 总体设计

采用模块化的程序设计方法,即将较大的任务按照一定的原则分为一个个较小的任务,然后分别设计各个小任务。需要注意的是划分出来的模块应该相对独立但又相关,且容易理解。可以用模块化层次结构图(即模块图)来分析其任务的划分,一般从上到下进行,最上面一层是主模块,下面各层是其上一层模块的逐步细化描述。

本通讯录系统要求采用数组实现,它由如下五大功能模块组成:

●输入记录模块:完成将数据存入文件的工作。记录可以从以二进制形式存储的数据文件

中读入,也可从键盘逐个输入学生记录。学生记录由学生的基本信息和成绩信息字段构成。当从数据文件中读入记录时,也就是把在以记录为单位存储的数据文件中,将记录逐条复制到数组中。

●查询记录模块:逐一查找文件名对应文件,打开读数。

●更新记录模块:打开相应文件,对其中数据更改。

●输出记录模块:重文件中读出数据,转出存入数组中,再由数组输出。

2.2 详细设计

2.2.1数据结构设计

●通讯录结构体

直接由外部文件分隔储存,进行文件建立,结合外部搜索完成基本结构。

2.2.2 定义数组函数执行流程

// 通讯录Dlg.h : header file

//

#if !defined(AFX_DLG_H__37C8ABEA_DB2A_4346_9B9E_B2B26BE0014A__IN CLUDED_)

#define

AFX_DLG_H__37C8ABEA_DB2A_4346_9B9E_B2B26BE0014A__INCLUDED_

#if _MSC_VER > 1000

#pragma once

#endif // _MSC_VER > 1000

/////////////////////////////////////////////////////////////////////////////

// CMyDlg dialog

class CMyDlg : public CDialog

{

// Construction

public:

struct student

{

CString csCode; //学号

CString csName; //

}structStudent[20];

int nStudentNum;

int nAccordNum;

int nAccordItem[20];

int number;

CMyDlg(CWnd* pParent = NULL); // standard constructor

// Dialog Data

//{{AFX_DATA(CMyDlg)

enum { IDD = IDD_MY_DIALOG };

CString m_csCode;

CString m_csName;

CString m_csSearchCode;

CString m_csSearchName;

//}}AFX_DATA

// ClassWizard generated virtual function overrides

//{{AFX_VIRTUAL(CMyDlg)

protected:

virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL

// Implementation

protected:

HICON m_hIcon;

// Generated message map functions

//{{AFX_MSG(CMyDlg)

virtual BOOL OnInitDialog();

afx_msg void OnSysCommand(UINT nID, LPARAM lParam);

afx_msg void OnPaint();

afx_msg HCURSOR OnQueryDragIcon();

afx_msg void OnButton1();

afx_msg void OnButton2();

通讯录管理系统实验报告

通讯录管理系统实验报告 信息科学与技术学院《程序设计实习》实训报告书 目: 计算机科学与技术题 专业: 计算机科学与技术班级: 姓名: 学号: 同组人员: 指导老师: 设计时间: 目录 1.实训计 划 ..................................................................... ................................... 1 2.问题描 述 ..................................................................... ................................... 1 3.问题分 析 ..................................................................... ................................... 2 4.算法设 计 ..................................................................... ................................... 4 5.程序模块设 计 ..................................................................... ............................ 5 6.技术难点与分 析 ..................................................................... ........................ 8 7.系统测 试 ..................................................................... ................................... 9 8.心得体 会 .....................................................................

简单的通讯录实验报告

( 二〇一二 年 十 月 课程设计说明书 本科毕业设计 题 目:简单通讯录程序 学生姓名:李天罡 学 院:工学院 专 业:数字媒体技术 班 级:2011级 指导教师:王金祥

目录 引言 (3) 第一章需求与分析...................................... I 1.1开发环境 ....................................................................................................... I 1.1.1软件环境 ........................................................................................................... I 1.1.2硬件环境 ........................................................................................................... I 1.1.3开发平台 ........................................................................................................... I 1.2功能需求 ....................................................................................................... I 1.2.1数据字段 ........................................................................................................... I 1.2.2主要功能 ........................................................................................................... I 第二章总体设计 ...................................... II 2.1流程图 ......................................................................................................... II 2.2主要模块功能介绍 .................................................................................... III 2.2.1选择模块 ........................................................................................................ III 2.2.2增添删减模块 ................................................................................................ III 2.2.3查询模块 ........................................................................................................ I V 2.2.4排序模块 ........................................................................................................ I V 第三章详细设计 ...................................... IV 3.1源代码 ........................................................................................................ I V 第四章实体机测试..................................... XV 4.1测试的目标 ..................................................................................................... XV 4.2测试方法 ......................................................................................................... XV 4.3测试结果 ........................................................................................................ XVI 总结 .............................................. XXIII

c语言通讯录管理实验报告及源程序代码

C语言程序设计实训报告 课程名称 C语言程序设计实训 课题名称通讯录管理 专业软件工程 班级 K软件151 学号 姓名 指导教师 2016年 1 月 1 日

湖北汽车工业学院科技学院 C语言程序设计实训任务书 课程名称 C语言程序设计实训 课题通讯录管理 专业班级软件工程 学生姓名 学号 指导老师 审批

一、设计内容与设计要求 1.设计内容: 设计课题:通讯录管理 一、问题描述: 该设计实现对通讯录得管理功能,具体包括从键盘输入通讯录的信息、从指定的文件中读入通讯录的信息、按姓名查询通讯录的信息、按分类查询通讯录的信息、删除指定姓名的通讯录的信息、将通讯录信息保存在指定的文件中等。 二、功能要求: 1)能从键盘输入通讯录的信息(增加,输入时需要能检查该姓名的通讯录 的记录是否已经存在,如果存在,需要询问是否是覆盖还是增加,需要判断输 入的类型是否存在) 2)能从指定的文件中读入通讯录的信息 3)能按姓名查询通讯录的信息 4)能按分类查询通讯录的信息 5)能删除指定姓名的通讯录的信息 6)能将通讯录信息保存在指定的文件中 7)所有数据符合实际应用要求 2.设计要求: 1)设计正确,方案合理。 2)界面友好,使用方便。 3)程序精炼,结构清晰。 4)上机演示。 3.设计报告要求: 课程设计报告格式如下: 1)正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体,行距为22。 2)正文的内容:课题的主要功能、课题的功能模块的划分、主要功能的实现、程序调试、总结、附件(所有程序的源代码,要求对程序写出必要的注释)。 3)课程设计报告装订顺序:封面、任务书、目录、正文、评分、程序清单附件。 二、进度安排

c语言通讯录实训心得

我这次实训当中,它让我巩固了C语言所学基本课程,提高C语言编程的综合应用能力以及C语言程序的编译、调试方法。不仅如此,它让我掌握C语言中的基本数据输入、输出;熟练使用C语言中的三种基本结构的使用,使用数组和函数调用;还有学习与熟练使用C 语言中的指针和结构体。 该实训的过程是既漫长又艰苦,因为我花了大多数的时间去做,在这过程中这是一个艰苦的过程,我必须要克服它。而经过老师教导后,我大概清楚做这项目的基本过程,首先老师教我做目录,添加新联系人,显示所有联系人的信息,查找联系人的信息,删除联系人的信息,修改信息,退出系统的头文件或源文件,还教我指针和结构体。经过自己的努力和在老师的帮助下,终于完成项目。 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,而我们作为学生需要跟上时代的发展,而这就要我们通过这些实训来锻炼自己了。 通过学习,使我对C语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机实践才能更好地学习它,通过实践,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,通过学习也有所改进;再有对C语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对c语言中经常出现的错误也不了解,通过实践,使我在这几个方面的认识有所提高。 用C语言做项目,我仍心得颇多,的确,从理论到实践,在整整

两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。

数据结构实验一_通讯录

数据结构实验报告 实验名称:实验一——线性表 学生:大学霸 班级: xxxxxxxxxx 班序号: xx 学号: xxxxxxxxxx 日期: 2012年11月1日 1.实验要求 实验目的: 1.学习指针,模板类,异常处理的使用; 2.掌握线性表的操作实现方法; 3.培养使用线性表解决实际问题的能力。 实验容: 利用线性表实现一个通讯录管理,通信录的数据格式如下: struct DataType { int ID; //编号 char name[10]; // char ch; //性别 char phone[13]; // char addr[31]; //地址 }; 具体要求: 1.实现通信录的建立、增加、删除、修改、查询等功能 2.能够实现简单的菜单交互,即可以根据用户输入的命令,选择不同的操作 3.能够保存每次更新的数据 4.编写main()函数测试操作的正确性 2. 程序分析 编程完成通讯录的一般性管理工作如通讯录中记录的增加、修改、查找、删除、输出等功能。每个记录包含、、住址等个人基本信息。用《数据结构》中的链表做数据结构结合c语言基本知识编写一个通讯录管理系统。本程序为使用方便,几乎不用特殊的命令,只需按提示输入即可,适合更多的用户使用。对于建立通讯录管理系统,则需了解并掌握数据结构与算法的设计方法,提高综合运用所学的理论知识和方法独立分析和解决问题的能力。

2.1 存储结构 节点结构: 2.2 关键算法分析 本实验从整体上分为七大模块:( 1)输入联系人信息;(2)添加联系人信息;(3)查找 联系人信息;(4)查看联系人信息;(5)删除联系人信息;(6)修改联系人信息;(7)退出通讯录管理。 通讯录系统图 2.2.1通讯录的建立 伪代码: 1.在堆中申请新的结点; 2.新节点的数据域为a[i]; 3.将新节点加入到链表中; 4.修改尾指针; 5.全部结点插入后需要将终结结点的指针域设为空。 C++实现: ContactBook::ContactBook(DataType a[],int n)//尾插法 { front=new Node; rear=new Node;

Android实验报告_基于SQLite的通信录

第一次实验Android界面设计 一. 实验目的及实验环境 1. 实验目的 1)掌握SQLiteOpenHelper类结构 2)掌握基于SQLite数据库的应用开发过程 3)掌握Content Provider发布数据的方法 4)掌握Content Resolver获取数据的方法 2.实验环境 系统开发平Android Studio 3.0 系统开发平台:Android 7.1 运行平台:Windows10 x64 运行环境:https://www.360docs.net/doc/a515682698.html, Framework SDK 2.0 二. 实验教材、组织方式、实验容 1.实验教材:Andorid开发与应用 2.组织方式:个人独立完成 2.实验容: 实现基于SQLite数据库的通信录应用,通过单击增加图标打开添加通信录界面,通过单击通信录中的各条信息可删除选中项。 三.方案设计 Android系统中集成了SQLite数据库,并且为数据库的操作提供了相关的类和方法,便于没有数据库开发经验的开发者编写程序。另外,Android平台中利用Content Provider机制来实现跨应用程序数据共享。一个应用程序可以通过Content Provider来发布自己的数据,其他的应用程序可以通过Content Resolver来获取共享数据。

四.运行结果

五.总结 通过这次实验掌握了SQLite OpenHelper类结构,掌握了基于SQLite数据库的应用开发过程以及Content Provider发布数据的方法和掌握Content Resolver 获取数据的方法。 六.附录:源代码 主布局文件activity_main.xml:

用XML做通讯录实验报告

综 合 性 实 验 报 告 学院: 专业: 学号: 姓名:

计算机与信息技术学院综合性、设计性实验报告 专业:年级/班级:学年第学期 课程名称XML基础指导教师 本组成员 学号姓名 实验地点实验时间 项目名称个人通讯薄一的设计与实现实验类型综合性 一、实验目的 1、掌握XML文档的基本语法,能够得到格式良好的XML文档; 2、能够了解并掌握XML DTD的定义方法及其用途; 3、能够熟练使用XMLSPY来创建DTD文件及对应的有效的XML文件,并进行验证; 二、实验仪器或设备 学院提供公共机房,1台学生微型计算机。 三、总体设计(设计原理、设计方案及流程等) 设计原理:按照XML、DTD的语法规则来编写、保存文件XML、DTD文件。 设计方案及流程: 利用XML文档作为存储载体来存储个人通讯薄,按照以下要求设计并实现该通讯薄: 1、内含同学(classmate)、朋友(friend)、家人(home)等人员。每条通讯录至少包 含以下信息: a、姓名(name):必须有一个,其中包含一个枚举类型的性别(sex)属性; b、性别(sex):必须有一个; c、联系方式(tel):必须有一个; d、QQ号:一个或多个; e、地址(address):一个或多个; f、备注(other):一个或多个; g、根据需要可添加其它字段。

2、为该XML文档,编写DTD文档。 四、实验步骤(包括主要步骤、代码分析等) 1、按照以上设计编写一个规范的XML文档 这句话放为XML文件的声明,作为文件的第一行,在其前面不能有空白、其他处理指令或注释。XML声明以标识结束。在该XML声明中,属性version 的值为1.0,指出了该XML文件使用的XML版本,目前该属性的值只可以取1.0。属性encoding规定XML文件采用哪种字符集进行编码,在这encoding的值为“UTF-8”,那么标记的名字以及标记包含的文本内容中就可以使用汉字、日文、英文等。最后,文件在保存的时候必须选择UTF-8编码来保存,否则会出错。 如果在XML声明中没有指定encoding的值,那么该属性的默认值为UTF-8。 在XML文档中,有且仅有一个根标记,其他标记都必须封装在根标记中如图所示: 在该XML文件中,根标记的名字为“txl”,在根标记中封装了一个或多个名字为“title”、“classmate”、“friend”、“home”的标记。在名为“classmate”、“friend”、“home” 的标记下,又都包含了名为“name”、“sex”、“tel”、“QQ”、“address”、“other”的子标记,他们分别包含了姓名、性别、联系方式、QQ号、地址、备注这些信息。至此,该XML文件可以称为一个规范的XML文件。 使用XMLSpy,使用按钮检验XML文件的规范性,所得结果为:

Java实验通讯录 实验报告

集中上机实习报告实验题目用java实现简单功能的学生通讯录

实验题目 用java实现简单功能的学生通讯录; 需求分析和系统设计 需求分析要实现的功能分析: 通过题目可知要设计一个学生通讯录,要求实现简单的通信录管理,能够 输入通信录卡片(实现增、删、改等功能),能够分组,并能够实现按名字(或 其他方式)查询功能; 实现界面:可以是DOS界面,功能按提示方式输入实现;可以是Windows界面,功能用菜单形式,输入界面用对话框形式。 概要设计 为了实现实现通讯录界面,需要完成对电话簿的添加,删除,修改功能,因此只需要完成对这三个按钮事件的处理。这三个按钮同样可以用一个监听器 类来实现事件的监听。区分他们的方法同样是根据按钮标题的不同来区分,当 鼠标单击列表组件时,显示不同人员的联系信息,所以需要为列表组件添加鼠 标事件监听器。 算法分析 在实现功能时只用了简单的面向对象的设计方法,在处理多个按钮事件时,区分按钮的关键是按钮的标题区分,我用了按钮命令事件处理,并用if else 来区分“添加”,“删除”,“修改”这三个按钮。界面上放入一个列表主件, 一个“姓名:”的标签和一个输入姓名的编辑框,一个“电话:”的标签和一 个联系电话的编辑框,一个“地址:”的标签和一个地址的编辑框,还有“添加:”、“删除:”、“修改:”等按钮,及对mouseClicked 事件的监听类。 构造了 JFrame mainFrm 为主窗口, JTextField name 为姓名输入框, JTextField tel 为电话输入框, JTextField add 为地址输入框,

JList dataList 为列表组建, String[] ming 为姓名数组, String[] phone 为电话数组, String[] addr 为地址数组。 在实现过程中,定义PhoneBook类继承了MouseAdapter类与ActionListener接口,就可以用Book类来实现按钮命令监听器和鼠标事件监听器。如果出现错误操作,会在控制台出现异常,且操作无效。 模块划分与说明 学生表 流程图 1,进入通讯录后先在姓名输入框内输入姓名如xx,在电话输入框内输入联系电话,在地址输入框内输入地址; 2,点击“添加”按钮,姓名xx出现在面板左侧的列表中; 3,(1)继续1,2,步骤可向学生通讯录中添加更多学生信息如yy; (2)可对已添加的学生信息进行修改,如将xx的电话号改变:在列表中点击xx姓名,对xx信息进行修改,最后点击“修改”按钮,修改后的信息被保存; (3)可对已添加的学生信息进行删除操作,如将xx的信息删除:在列表中点击xx姓名,然后点击“删除”按钮,即可将学生信息删除;

C语言实验报告材料 通讯录

C语言集中上机报告 通信录 院系: 班级: 姓名: 合作者: 指导教师:

2015年6月1日 目录 一概述 (3) 课程设计的目的 (3) 二总体方案 (4) 三程序的调试与运行结果说明 (4) 四课程设计总结 (6) 五后记 (7) 六附录 (7) 参考文献 (11)

一概述 课程设计的目的 实现个人通讯录管理,录入包括姓名、地址、邮政编码、电话号码的信息。其中: 1、对n名学生包括姓名、地址、邮政编码、电话号码等信息进行输入; 2、显示所有记录的信息,若无记录,则给出提示信息; 3、可以按姓名进行查询; 4、可以按姓名进行删除; 6、退出程序 1.课程设计的要求 教师要求: 1、为通信录数据定义类型和定义通信录变量,实现功能:存取、显示、删除记录、查询记录等功能。 2、要求:界面友好,易于操作。(本题目限最多一个人完成) 需要的基本知识和技能: 1、利用C语言进行程序设计的能力; 2、理解和运用结构化程序设计的思想和方法; 3、初步掌握开发一个小型实用系统的基本方法; 4、学会调试一个较长程序的基本方法; 5、学会利用流程图或N-S图表示算法; 6、掌握书写程序设计开发文档的能力。 2.课程设计的主要设计思想 整个程序的设计是通过对每一个功能的设计,然后,再对每一个功能的程序进行模块化,从而形成一个完整的管理系统。自顶向下、逐步细化、逐步求精。在对于给定问题进行透彻的了解和详细的分析的基础上,把问题分解成若

干个按顺序执行的逻辑部分(称为“模块”)。每个子任务如果仍很复杂,还可以再分解为若干个子任务。对于每个模块的设计都采用这种“自顶向下、逐步细化”的方法,将它们分解成为基本结构为止,就如同写文章先拟出题目和中心内容,再确定分为几大部分,每一大部分又分哪几节,每一节分为几段,每一段包括哪几个意思,这就是“自顶向下,逐步细化”的方法。 二总体方案 整体设计思路:程序主要运用到了文本文件的打开和读取,文件中存取信息的格式为结构体数组,一个主函数下面分为个子函数。此程序运行的前提是必须首先在编译器的子文件中建立一个文本文件,则可以在运行程序的过程中对这个文本文件进行相关读取。 主要特点及具备功能:简洁明了,易于读者阅读。运用了链表结构,可以自动开辟内存空间储存,操作简单,运用了while循环。 整体框图: 三程序的调试与运行结果说明 主界面和菜单: 结构体构造初始化文件添加联系人显示联系人查找联系人 删除联系人退出

安卓通讯录实训报告

安卓实训设计报告 安卓通讯录 设计题目:安卓通讯录 班级: 姓名: 学号: 指导老师: 日期: 2012年6月7日

容要求 一、题目分析,功能要求。 1.1 实验目的 熟悉Android软件开发的基本架构 利用Eclipse和ADT插件设计通讯录 1.2 功能 本手机通讯录工具主要实现五大功能:联系人的查询:字段查询,分组查询,字母排序查询;增加、删除联系人以及修改联系人信息;导入、导出联系人;发送联系人信息;设置。 二、实验设计 2.1 UI设计 我们用一个ListView来显示整个通讯录,其中用TextView显示每一记录,他们的xml文件分别为:main.xml(通讯录主界面),addres.xml(添加联系人界面),list_item.xml(浏览联系人界面),find.xml(查找联系人界面)。 2.2功能的设计 为了在主界面中浏览联系人的信息,并且创建主要菜单栏,我们设计了MainActivity类,主要用于显示联系人信息和菜单栏,通过菜单栏,实现通讯录的相关功能。AddressBook类主要是为了实现联系人的添加功能,并且实现信息的保存后跳转到主界面。Findactivity类主要是为了实现联系人的查找功能,输入联系人的,点击查找按钮,显示所查联系人的相关信息。 三、实验程序 四、实验效果图

五、总结 通过设计该通讯录,主要学习了UI设计、数据库的综合操作、动态菜单的使用以及各种权限的注册。通过本次设计,使我对Android平台的数据库操作有了更进一步的理解,同时也对Android系统有了更深入的了解。

附录一 //定义数据 public class ContactColumn implements BaseColumns { public ContactColumn() { } //列名 public static final String NAME = "name"; // public static final String MOBILENUM = "mobileNumber"; //移动 public static final String HOMENUM = "homeNumber"; //家庭 public static final String ADDRESS = "address"; //地址 public static final String EMAIL = "email"; // public static final String BLOG = "blog"; //博客 //列索引值 public static final int_ID_COLUMN = 0; public static final int NAME_COLUMN = 1; public static final int MOBILENUM_COLUMN = 2; public static final int HOMENUM_COLUMN = 3; public static final int ADDRESS_COLUMN = 4; public static final int EMAIL_COLUMN = 5; public static final int BLOG_COLUMN = 6; //查询结果 public static final String[] PROJECTION ={ _ID, NAME, MOBILENUM, HOMENUM, ADDRESS, EMAIL, BLOG, }; } public class DBHelper extends SQLiteOpenHelper { public static final String DATABASE_NAME = "mycontacts.db";//数据库名 public static final int DATABASE_VERSION = 2; //版本public static final String CONTACTS_TABLE = "contacts"; //表名 //创建表 private static final String DATABASE_CREATE = "CREATE TABLE " + CONTACTS_TABLE +" (" + ContactColumn._ID+" integer primary key autoincrement," + https://www.360docs.net/doc/a515682698.html,+" text," + ContactColumn.MOBILENUM+" text,"

通讯录实验报告

实验课程名称通讯录管理系统 专业班级 10级计科1班 学生姓名 学号 指导教师 2012至2013学年第一学期第1 至18 周

目录 第1章概述 (3) 1.1现状分析 (3) 1.2实现意义 (3) 第2章系统分析 (4) 2.1用户需求分析 (4) 2.2管理者需求分析 (4) 第3章概要设计 (5) 3.1主控菜单设计 (5) 3.2 总结构设计流程图 (6) 第4章详细设计 (6) 4.1通讯录建立模块设计 (6) 4.2通讯录查询模块设计 (7) 4.3通讯录删除模块设计 (7) 4.4通讯录链表的输出模块设计 (8) 第5章运行与测试 (9) 第6章总结和心得 (9) 参考文献 (10) 附件(源代码) (10)

第1章概述 1.1现状分析 日益繁多的人际交往使得我们很难记住与每个人之间的联系方式,通讯录能够便捷的给我们带来所需要的相关信息。为了实现通讯录管理的几种操作功能,首先设计一个含有多少个菜单项的主控菜单程序,然后再为这些菜单配上相应的功能。 1.2实现意义 随着计算机的普及,人们的生活摆脱了传统式的记事本、电话簿,越来越多的靠计算机或者手机中的电话簿程序来帮助人们记住这些事情,极其简便。这就需要有一个使用的通讯录管理系统,用户可以方便的通过自己电脑的通讯录管理系统,来随时查阅自己所需要的信息,而不必再大费周折去翻开那繁琐的记事本。通讯录管理系统是一个专门针对储存用户联系方式以及一些简单个人信息的实用管理系统,它方便了用户对众多客户、朋友、同事等个人信息的储存和快速查阅的功能,大大减少了查找过程的时间。然而要靠计算机来记住这些信息,首先就得要求用单链表做数据结构,设计一个实现通讯者信息的输入、查询、删除、输出、等功能的通讯录管理系统。每条通讯者信息包含:编号、姓名、性别、电话号码、地址等信息。

《通讯录管理系统(c语言)》实训报告(含代码)

《高级程序设计》课程实训报告 题目:通讯录管理系统 完成人: 专业班级: 学号: 指导教师: 2012年 1 月 5 日

1 题目与要求 1.1 问题提出 本人计划编写一个通讯录管理系统。通讯录一般包括通讯者的姓名、电话及类别等信息,用来管理学生基本信息及成绩信息。 要求实现通讯者的插入、查询、删除等操作。 1.2 本系统涉及的知识点 结构、数组、循环、函数、分支、文件操作等。 1.3 功能要求 1、建立学生信息,每个通讯者的信息包括:姓名、电话号码、QQ、类别(小学,初中,高中,大学); 2、新增通讯录信息; 3、根据姓名,电话号码,QQ等查找该通讯者的信息并输出; 4、输入通讯者的姓名,进行查找并修改信息,若不存在该通讯者,则提示说明; 5、根据姓名删除指定信息; 6、显示全部的通讯者信息; 7、能够将输入信息导出文件,同时能把文件导入到内存中; 8、退出整个系统操作。 2 功能设计 2.1 算法设计 1、利用switch语句设计如图1所示的主菜单:

图1 学生信息管理系统主菜单 2、菜单选项示例: 选择1后,调用新增函数,进入函数后利用printf(),scnaf()语句实现一个如图2所示的输入。 图2 排序子菜单

选择2后,调用查找函数,进入函数后利用switch语句实现一个如图3所示的菜单,该菜单中每个选项调用一个函数,完成通讯录信息的查找。

图3 查找子菜单 3、根据所选菜单编写相应代码: 1)主函数main():根据选单的选项调用各函数,并完成相应的功能。 2)菜单函数menu():显示提示选单。 3) 新增函数add():在通讯录结构体总追加入新的通讯录信息,并返回选单。 4)查找函数find():查询某人的信息,如果找到了,则显示该人的信息,如果未找到,则提示通讯录中没有此人的信息,并返回选单。 5)修改函数alter():修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。 6)删除函数Delete():删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人的信息,并返回选单。 7)显示函数list():显示通讯录中的所有记录。 8)导入函数input():能从指定的文件中读入通讯录的信息. 9)导出函数output的:能将通讯录的信息写入指定的文件中 10)退出函数 quit():退出选单。 11)名字查找函数Find():作为查找,输入修改,删除时调用的名字查找函数,判断是否存在要查找的记录,若存在则返回‘0’,不存在则返回其他值。 12)电话号码查找函数Find_num(),QQ查找函数Find_qq(),类别查找函数Find_type()与名字查找函数功能一致。

基于Android平台的手机通讯录管理系统

第一章绪论 1.1 项目研究背景 经过多年的发展,随着第三代网络的使用及四代网络的即将来了呢,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。Google与包括HTC、摩托罗拉、三星、联想等在内的三十多家技术和无线应用的领军企业组成的开发联盟为此于2007年11月退出了一份专为移动设备设计的软件平台——Android OS。 Android 是一套真正意义上的移动性设备综合平台,它包括操作系统、中间件和一些关键的平台应用。Android的Java程序运行环境包含一组Java核心函数库及Dalvik虚拟机,它们有效地优化额Java程序的运行过程。Android 系统平台基于优化了的Linux内核,它提供诸如内存管理、进程管理、设备驱动等服务,同时也是手机硬件的连接层。 Abdroid平台的开放性等特点既能促进技术(包括平台本身)的创新,又有助于降低开发成本,还可以是运营商能非常方便地制定特色化的产品,因此,它具有很大的市场发展潜力。 1.2 项目研究的目的及意义 随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。在Google和Android手机联盟的共同推动下,Android在众多手机操作系统中脱颖而出,受到广大消费者的欢迎。 手机通讯录作为手机的基本功能之一,每天我们都在频繁地使用着。根据手机功能的不断加强与完善,手机通讯录对于人们的意义,已经不仅仅像记事簿一样显示通讯地址,而是向着个性化、人性化的方向发展。通讯录从无到有,从英文到中文,经过了十几年的发展历程,今后的发展趋势就是从通讯录发展为名片夹,也就是一个人名下,可以储存座机、手机、单位、地址、电子邮箱等内容,这种名片夹在电话薄的基础上,大大丰富了内容,同时结构也发生了革命性的的变化,而且随着手机的发展,相信更优秀的通讯录会越来越受到社会各层认识的喜爱。 1.3系统主要内容与实现方式

通讯录实验报告

安徽理工大学 数据库系统概论课程设计说明书 题目: 通讯录系统 院系:计算机科学与工程学院 专业班级:电子信息技术及仪器11-1班 学号: 2011302807 学生姓名:周松林 指导教师:胡胜利 2013年 06月 10日

安徽理工大学课程设计(论文)任务书计算机科学与工程学院

2013年03月20日安徽理工大学课程设计(论文)成绩评定表

目录 1 需求分析 (1) 2 总体设计 (2) 2.1数据库设计 (2) 2.1.1通讯录系统的数据字典 (2) 2.1.2概念结构设计 (2) 2.1.3通讯录数据库逻辑结构设计 (3) 2.2通讯录数据库实现 (3) 3 详细设计 (4) 3.1建立数据库 (4) 3.2进行数据库连接 (5) 3.3程序代码 (9) 4 总结 (15) 参考文献 (16)

1 需求分析 设计通讯录系统的总体目标:利用所学的VC++和数据库系统的相关知识,设计出具有一定功能的通讯录系统。在本次程序设计,我是在SQLsever中建立相应的表,然后应用ODBC将数据库与VC++链接起。 通讯录的基本功能如下: (1)具有查找功能。编写查找程序代码,用户根据自己需要,通过VC++功能界面查找所需内容。 (2)具有删除功能。编写删除程序代码,通过VC++功能界面删除数据库中的记录。 (3)具有编辑功能。编写相应编辑程序代码,实现对数据库中的记录的修改,达到用户目的。 (4)具有插入功能。编写相应插入程序代码,实现对数据库进行插入记录功能。

2 总体设计 2.1数据库设计 2.1.1通讯录系统的数据字典 由于本次课程设计的内容是设计通讯录系统,根据用户需求,建立以下联系人基本信息表,如下表所示。 表2-1联系人基本信息 2.1.2概念结构设计 通过需求分析构造基本表,确定了通讯录的数据项。然后将需求分析得到的用户需求抽象为信息结构,画出E-R图。如下图所示:

手机通讯录安卓课程设计

湖南科技大学计算机科学与工程学院 智能终端系统及应用开发课程设计报告 题目:手机通讯录 学号:******** 班级:******** 姓名:******** 指导老师:********

绪论 随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。在Google和Android手机联盟的共同推动下,Android在众多手机操作系统中脱颖而出,受到广大消费者的欢迎。 手机通讯录作为手机的基本功能之一,每天我们都在频繁地使用着。根据手机功能使用调查显示,有9成以上的消费者使用手机通讯录功能。随着手机通讯录功能的不断加强与完善,手机通讯录对于人们的意义,已不仅仅像记事簿一样显示通讯地址,而是向着个性化、人性化的方向发展[4]。通讯录从无到有,从英文到中文,经过了十几年的发展历程,今后的发展趋势就是从通讯录发展为名片夹,也就是在一个人名下,可以存储座机、手机、单位、地址、电子邮件等内容。这种名片夹在电话薄的基础上,大大丰富了内容,同时结构也发生了革命性变化,而且随着手机的发展,相信更优秀的通讯录会越来越受到社会各层人士的喜爱。

一、课程设计目的 智能终端系统及应用开发课程设计是计算机相关专业的一个综合性实践教学环节,是学 习完《智能终端系统及应用开发》课程后进行的一次全面的综合练习。其目的在于促进学生 复习和巩固 Android 应用技术,加深对软件设计方法、软件设计技术和设计思想的理解,并 能运用所学 Android 设计知识,通过本课程设计让学生进行简单 Android 应用软件的开发,掌握软件设计的方法和面向对象程序设计的基本技术,提高学生在软件开发方面的综合应用能力。 二、课程设计内容 通过对Android 技术的相关研究,了解Android 源码实现原理以及过程,从而设计出一款能够使用的手机通讯录。 这款手机通讯录实现的相关内容如下: 1.简洁、实用的操作界面。 2.显示所有联系人的列表。 3.增加联系人。 4.删除联系人。 5.修改联系人。 6.呼叫联系人。 7.发送短信、邮件至联系人。 三、系统设计 功能结构图 Android 手机通讯管理软件 联系人添加 联系人编辑 联系人查看 联系人查找 联系人删除 呼叫联系人 发送短信 联系人列表

数据结构实验报告之通讯录的实现

数据结构实验报告之通讯录的实现 一、实验题目 利用线性表实现一个通讯录管理,通信录的数据格式如下: struct DataType { int ID; //编号 char name[10]; //姓名 char ch; //性别 char phone[13]; //电话 char addr[31]; //地址 }; 要求: ?实现通讯录的建立、增加、删除、修改、查询等功能 ?能够实现简单的菜单交互,即可以根据用户输入的命令,选择不同的操作。 ?能够保存每次更新的数据(选作) ?能够进行通讯录分类,比如班级类、好友类、黑名单等等(选作) ?编写测试main()函数测试线性表的正确性 二、实验目的 1、熟悉C++语言的基本编程方法,掌握集成编译环境的调试方法。 2、掌握线性表的操作的实现方法。 3、运用线性表解决实际问题。 三、实验内容 通过编写一个C++程序完成一个简易的通讯录管理系统,能够实现建立,增加,删除,修改,查找,浏览,输出,菜单等基本功能。管理系统中每个元素含有成员的ID、姓名、性别、电话、地址等信息。程序是使用链表的功能,通过一些算法简单的实现。 四、算法思路与主要代码 1. 通信录管理结构:建立,增加,删除,修改,查找,浏览,菜单。 2.建立通讯录 构造函数,建立头节点 PHONEBOOK::PHONEBOOK() { first = new DataType; first->next = first->prior = first; first->ID = 0; }

头插法,添加联系人 1:在堆中建立新结点 2:将 a[i]写入到新结点的数据域 3:修改新结点的指针域 4:修改头结点的指针域,将新结点加入链表中 即 1:Node * s=new Node 2:s->data=a[i] 3:s->next=front->next; 4:front->next=s 代码实现 void PHONEBOOK::Insert() { DataType *data = new DataType; data->next = first->next; data->prior = first; first->next = data; data->next->prior = data; m++; data->ID = m; 3.查找联系人 按姓名查找查找是指用户输入要查找的联系人的姓名,系统该函数内找到该联系人,返回该联系人数据域的指针,在主函数中输出该联系人的全部信息。 即1. 初始化工作指针p; 2. 循环以下操作直到p为空或找到用户 1. 如果p的数据等于i,则返回P的数据域指针; 2. P指针指向下一个节点; 3.若找不到返回空指针。 代码实现 void PHONEBOOK::Search() { cout << "请输入要查找的联系人的姓名:"; char aname[10]; cin >> aname; DataType *p = first->next; while (p) { //找到则输出信息 if (strcmp(p->name aname) == 0) {

通讯录管理系统C++实验报告

通讯录管理系统C++实验报告

《C++数据结构》 课程设计 班级信管1123 指导老师吴卫祖 学号 201211671330 姓名易梓麒

2014 年 7 月 7 日

目录 目录 (4) 通讯录管理系统 (5) 一. 问题描述 (5) 1.1系统总体描述 (5) 1.2需求分析 (6) 1.3系统实现方案 (6) 二.概要设计(流程) (6) 三.详细模块设计 (9) 3.1信息录入 (9) 3.2显示信息 (10) 3.3按姓名查找信息 (10) 3.4删除联系人信息 (11) 3.5保存信息至文件 (12) 3.6读取信息 (12) 3.7添加信息 (13) 3.8退出 (13)

3.9主函数 (14) 四.程序运行示意图 (15) 4.1主界面 (15) 4.2输入信息 (16) 4.3显示记录 (16) 4.4删除记录 (17) 4.5查阅记录 (17) 4.6保存记录 (18) 4.7读取记录 (19) 4.8添加记录 (19) 五.总结与心得 (20) 六.附录#源代码 (20) 通讯录管理系统 一.问题描述 1.1系统总体描述 本系统是一款基于对通讯录中联系人进行管理的系统,可使用户更好的对通讯录中的联系人进行基本的操作。

1.2需求分析 根据需求,该系统应具备以下功能: 1.对联系人基本信息的录入 2.显示所有联系人的基本信息 3.按照姓名查找联系人信息 4.删除联系人信息 5.保存联系人信息至文件 6.从文件中读取联系人的信息 7.添加新联系人信息 1.3系统实现方案 为实现系统功能,本系统共分为构建链表函数,显示函数,查找函数,删除函数,保存函数,读取函数,添加函数以及退出系统。这七个函数通过主函数switch语句进行调用。 二.概要设计(流程) 开始

相关文档
最新文档