文档库 最新最全的文档下载
当前位置:文档库 › VC结合Access制作通讯录程序

VC结合Access制作通讯录程序

VC结合Access制作通讯录程序
VC结合Access制作通讯录程序

VC结合Access制作通讯录程序

设计思路:

分层:界面层,数据访问层,数据库;数据访问层的作用是为界面层提供一个数据访问接口,隔离界面层和数据库;界面层不需要知道采用的哪种数据库,只需要调用数据访问层提供的接口来完成各种操作;

1.新建一个基于对话框的MFC程序,命名CallList

2.设计程序界面如下图:

图片看不清楚?请点击这里查看原图(大图)。

3.数据访问层的实现:

在StdAfx.h中添加#import "c:\Program Files\Common

Files\System\ADO\msado15.dll"no_namespace rename("EOF", "EndOfFile")

新建一个类CDataSource,作用是封装数据层,定义如下

该类对外提供的方法是一些基本数据库操作,用户可根据需要进行添加。

4.对各种方法的实现,本例中采用的是ADO访问,所以定义了m_pConn和m_pRecordset 两个对象。

实现InitData,作用是初始化数据库访问模块,包括数据库连接的初始化、记录集的初始化和当前数据库中最大ID的初始化,实现代码为:

和InitData方法对应的是FreeData方法,作用是关闭打开的记录集和数据库并释放到记录集和数据库指针,注意该函数在CDataSource的析构函数中调用,实现代码为:

接来下实现数据指针移动函数,这些函数是对ADO数据指针移动操作的封装:

下面实现的是当前记录指针位置的函数:

其中IsBOF和IsEOF函数是对ADO的直接封装,很容易理解,接来下实现设置和返回记录值的函数

最后要实现的是记录集的新建、更新和删除函数,代码如下:

至此,数据访问层类CDataSource已经实现了。整体上看,是对ADO操作的封装,更改数据库时,只需重写InitData函数即可。

5.界面层的实现

界面层是对界面显示控制的封装,本例模块比较简单,可将代码直接写入CCallList 类中,在CCallList类中定义一个CDataSource类对象: CDataSource m_ds;在对话框初始化函数OnIninDialog中初始化m_ds的数据,添加:m_ds.InitData();

为每个编辑框定义一个CEdit类型的对象,如图

图片看不清楚?请点击这里查看原图(大图)。

为CCaiiListDlg类添加函数void LoadData,作用是将当前记录的内容装载到界面中

为CCaiiListDlg类添加函数BOOL IsNeedUpdate(),作用是判断用户对界面上的数据是否进行了修改,判断的方法是使用记录中的字段和当前界面中数据比较,如有不同,说明用户修改了具体代码为:

为每个按钮定义一个CButton类型的对象,如上图2中为CCallListDlg类添加函数void RefreshUpdateBtn(),作用是刷新“更新”按钮的可用与否;添加void RefreshView(),作用是刷新界面各控件的可用性,两个函数的代码如下:

为每一个按钮定义一个 BN_CLICKED 事件,编辑代码如下:

为每个编辑框定义一个EN_CHARGE事件,编辑代码为:

至此基本信息和按钮部分已经设定完毕,对数据库的表格显示部分操作为:

在对话框编辑窗口右键单击,选择 Insert ActiveX Control ,插入 Microsoft ADO Data Control 6.0 (SP6) 控件,设置其属性选中Control页签——Use Connection String ,按Build按钮,本例中选择 Microsoft Jet 4.0 OLE DB Provider,点击下一步,写入

C:\\Demo.mdb ; 选中RecordSource页签,在Command Type中选择 2-adCmdTable ,在下面的表中选择储存通讯录的表名;

插入Microsoft Hierarchical FlexGrid Control控件

在其属性的ALL标签页中将DataSourcr属性设置为 IDC_ADODC1

编译运行该程序吧!

通讯录源代码详解

首先,对于stdlib.h头文件,你们不需要知道别的,只要了解,它里面高喊有申请动态内存空间的函数malloc() 就可以了。所以,想要使用该函数,必须加此头文件,就像想要使用printf() 和scanf()必须要加上stdio.h一样。同样,string.h头文件里也包含有好多函数,在本程序里面用的是strcmp() strcpy(),strlen()等等。 下面讲讲#define。这就是传说中的宏定义了。(额外讲一点,之所以称之为“传说中”,是因为我在接触它之前,感觉有多么多么神秘,但真正了解了,其实也没啥神秘可言)。好了不废话了,举个例子#define MAXQQ11.其中,MAXQQ 是宏名,11 是宏体,用宏名可以代替宏体。如若有一下语句:#define M 10 int a =M;则a的值就为10了;理解了吧?或许你们会问:为什么要用那么一大串字母代替一个数字呢?不麻烦么?直接a = 10;不更简单么?呵呵,其实这正是为了修改的方便才用的。比如,一个很大的程序里面多次用到常量10,但后来需要把10改为11,那么只要修改开头部分的#define M 11就可以了,而大可不必在程序中一个一个的闷着头在那里一个劲的傻找。是吧? 下面是结构体,tpyedef struct _person {…}person;至于typedef语句,我想,理论是不能解开困惑的,还是举个例子吧:如有typedef int LIKAI;LIKAI a; 语句就等同于:int a; 两位聪明的三姐四姐,明白了没?总之一句话:typedef就是为数据类型取个别名,(刚刚讲的宏定义是给常量(或表达式)取个别名);所以,我们看到下面的一个结构体里的person per;语句就等同于struct _person per; 还有再下面的addr_book *head =NULL;就等同于struct addr_book *head =NULL啦!这样可以少写一些代码(这里其实也就是少写了一个单词而已)再下面从void add()~void input_person(person *p); 都是函数声明,这一点徐慧丽同学比较了解,有疑问可以问她。 再下面是定义的多个字符串数组,其长度已经隐式的指出,就是下面所以字符个数之和。再下面就是主函数main()了,对了,关于函数的调用,三位同学还是有必要再了解一下的,但是限于篇幅,老师在这里就不再赘述。希望掌握欠佳的同学课后自行温习一下。main()函数开头,调用perint_welcome()函数,我们跳到这个函数里面看一看它的运行机制:外重for 循环内的变量i控制着屏幕的行数,在第四行(i从0~3),开始打印,if里面的三个打印字符串都打印完了呢,就直接跳到第七行,退出外重for循环,打印“回车键进入…”,等用户敲回车时,该函数执行完毕,返回到main()里调用它的地方。 然后进入while循环,循环条件永远为真,因为里面的switch语句里包含很多break语句,所以我们并不怕陷入死循环的泥沼中,嘿嘿,(因为我们不知道用户会输入多少条命令,所以要用while循环),在switch语句里,开关的钥匙是一个函数的返回值,这样可以少定义一个变量,代码也变得精简多了,好了,我们再跳到print_menu()函数里面看看:首先,清屏函数system(“cls”),(我帮你们想好了。要是老师问你们,你们只需说这是个清屏函数,是你们需要清除Dos窗口内的字符的时候,请教高人才得以知道的,嘿嘿),printf(menu);函数打印主菜单界面,并等待用户选择命令,若不在1~8的命令范围只内,提示有误,并请求再次输入,当输入命令合法的时候,返回该命令数字。然后我们在跳回主函数的switch 语句里,可以看到,无论用户选择那个命令,都会调用一个函数,这就是面向过程程序设计的一个特点,(徐慧丽同学现在知道了所谓的函数串的概念了吧?)而C++则不同,它所操作的都是由一个个类所定义的对象,而每个对象都有自己的“方法”(“方法”就是成员函数的一种牛叉的叫法,即专业名词,呵呵),体现了C++不同于C的一个特点:封装性。其实我想我们以开始学C的相对于一开始学C++的同学还是很幸运的,因为我们首先接触的是面向过程程序设计,C++ 我们以后一定会学(会了C还怕不会C++?),而我们有C的基础,可以透过语法结构,从思想上、跟不上区别于二者,对照其异同点,效果会更好,而对于他们一开始就学C++的同学,此生恐怕没有机会接触C了…所以….唉,都是题外话,不说了。

通讯录管理系统可行性分析报告

通讯录管理系统可行性分析报告 1、引言 为了方便管理联系人的手机、QQ 、邮箱、地址等信息特提出开发此系统。 1.1编写目的本产品是针对为能本地化无网络的获得通讯录信息的需求而设计的,主要功能包括对联系人的信息管理,实现对联系人进行搜索、输入、修改、删除、排序等功能,实现对联系人信息的管理。 1.2 项目背景 项目名称:通讯录管理系统项目的任务提出者:软件工程技术试验9 组开发者:软件工程技术试验9 组用户:一般个人 1.3参考资料《软件工程》清华大学出版社《实用软件工程》郑人杰清华大学出版社 《Visual C++ 高级编程》清华工业出版社《Visual C++ 信息系统设计与开发实力》机械工业出版社 《C语言程序设计》王曙燕曹锰王春梅等科学出版社 《C语言程序设计》谭浩强清华大学出版社 2、可行性研究的前提 2.1 要求功能:能够准确快速的记录联系人的相关信息,包括学号、姓名、性别、年龄、生日、电话号码、QQ 号码、E-mail 以及地址。能轻易的查出联系人的相关信息,并对其进行修改或删除,最终以文件形式保存。 性能:实时控制,功能齐全,数据共享,操作简便,可靠性好,稳定快速输入/输出:英文和数字输入,英文和数字输出安全与保密要求:不能轻易被破坏,不能让除用户之外的其他人删改相关信息,需要用户名及密码登录。 2.2 目标 本系统要达到的目标有以下几点: 1.输入功能:可以一次完成无数条记录的输入。 2.插入功能:按学号由小到大插入任意条学生记录。 3.修改功能:查找学生对应学号,完成对学号、姓名、信息的修改。 4.删除功能:查找学生对应学号,删除学生相关各项记录。 5■查询功能:⑴通过学号或姓名查找学生记录并显示; ⑵显示全部学生的信息记录; 6.排序功能:按学生学号升序排列并显示学生信息; 7.保存功能:将学生记录保存在任何自定义的文件中。 8.读取功能:将保存在文件中的学生记录读取出来。 9.密码功能:设定密码,可以输入两次,若正确输入进入 程序,反之退出系统。 10.界面设置:一个主菜单可以任意调用 ,方便清晰美观。

C程序设计通讯录管理系统

目录1系统设计目标及意义、功能介绍 (3) 2系统的详细设计思路 (3) 3系统运行效果图 (11) 4系统设计、开发过程中的问题 (13) 5课程设计心得体会 (13) 6附录源代码及简要说明 (13) 一、系统设计目标及意义、功能介绍 (一)系统设计的目标及意义 通讯录管理系统的建立是为了有效节省同学,朋友,客户间日常交流的投资(指时间,精力),其设计理念很简单,变传统的纸张与笔录方式为计算机自动化进行通讯录信息管理系统,既省时间又提高效率。本通讯录管理系统是一个非常通用的管理系统,运用Visual C++,构建MFC平台,用户可以通过图像窗口菜单进行信息录入、删除、查找,直观方便。 (二)系统设计的功能介绍 1、录入成员信息。基本信息:姓名、性别、出生年月日、民族等。 2、删除一个成员信息。 3、修改成员信息并保存。 4、能够按姓名对成员信息进行检索并将检索结果显示在屏幕上。 5、能够按专业对成员信息进行检索并将检索结果显示在屏幕上。 6、显示所有成员信息。 7、能够利用图形菜单的形式进行管理。 二、系统的详细设计思路 (一)系统的总体框架 (二)通讯录对象的主要属性 (三)功能分析 1、联系人管理者 (1)增加联系人: 联系人信息包括姓名、就读学校、班级、专业、家庭地址、家庭联系电话、邮编、本人联系电话这些信息。添加时,内容不能为空。

(2)修改联系人资料: 对已存的联系人信息进行变更、修改。正常情况下,联系人的姓名是不会发生变化的,但考虑到更名的情况还是偶有发生,因此设计为联系人所有资料都允许更改,这样可以灵活应对这些不太常见的情况。 (3)删除联系人: 对选定联系人执行删除操作,为了防止误删除,给使用者一个反悔的机会,在执行删除前要询问使用者是否真的要删除,在得到确认后执行删除操作。 2、联系人信息查询与显示 通讯录使用频率最高的功能就是查询联系人的信息。查询可以查询某个学院、某个专业、某个班级下所有的联系人。并且提供了按姓名和按学号查询的功能,并且同名的人都可以显示。联系人显示窗口示姓名、就读学校、班级、专业、家庭地址、家庭联系电话、邮编、本人联系电话这些信息。

C语言课程设计报告—手机通讯录管理系统

C程序课程设计报告 --手机通讯录管理系统 姓名:谢骏 学院:珠宝学院 学号:649 班级:141082

一课程设计目的和内容概述 1.目的:加深对《C语言》课程所学知识的理解,进一步巩固C语言编程方法。学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备解决综合性实际问题的能力,加强动手能力。 2.内容:设计一个简易的手机通讯录管理系统。该题目要求在熟练掌握C语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。进一步掌握各种函数的应用,包括时间函数、、绘图函数,以及文件的读写操作等。 其中结构体,函数的调用,算法的设计是尤为重要的。 二题目 手机通讯录管理系统。 [问题描述] 该系统模拟手机通讯录管理系统,实现对手机中的通讯录进行管理 [基本要求] 要能提供以下几种功能: (1)查看功能:选择此功能时,列出下列三类选择:

A:办公类B:个人类C:商务类 (2)当选中某类时,显示出此类所有数据中的姓名和电话号码 (3)添加数据功能:能录入新数据,每个结点包括:姓名,电话号码,分类(可能选项有:w为办公类p为个人类b为商务类),电子邮件。例如:杨春商务类 当录入重复的姓名和电话号码时,则提示数据录入重复并取消录入;当通讯录中超过15条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。(4)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改。 (5)删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。 三程序设计 1.总体设计 首先,因为每个个体有多种信息,所以要建立结构体来储存和整合各个信息。然后利用模块来分别实现程序的各个功能。各个模块用函数来实现。在通过通过主函数来判断输入字母,从而调动函数,实现所需功能。最后将输入的文件保存在文件里,以便重复使用。 2.详细设计

手机通讯录源代码

#include #include #include #include #define N 15 //最大容量为15 typedef struct //定义一个结构 { char name[10]; char haoma[15]; char leibie[10]; char dizhi[20]; }ren; //菜单 void menu() //目录 { system("cls"); //清屏 printf(" ######### 欢迎使用手机通讯录#########\n"); printf("\n"); printf("======================================================================= =======\n"); printf(" 1.~~查询~~ \n"); printf(" 2.~~添加~~ \n"); printf(" 3.~~拨号~~ \n"); printf(" 4.~~修改~~ \n"); printf(" 5.~~删除~~ \n"); printf(" 0. ~~退出~~ \n"); printf("======================================================================= =======\n"); printf("\n"); printf(" 个人通讯录\n"); printf("\n"); printf(" ~~请选择相应的功能~~:"); } void input() //查询 { int help=0; //帮助指令,如果查找所找的类别中没有数据,显示 ren ry; FILE *fp; char leibie[10]; system("cls");

个人通讯录管理系统设计说明书

个人通讯录管理系统系统设计说明书 班级 07软工A2 组号第 1 组 拟制人张超 审核人郁盈盈 2010年10月25日

目录 1 引言 (1) 1.1编写目的 (1) 1.2项目背景 (1) 1.3预期读者 (1) 1.4参考文献 (1) 2任务概述 (2) 2.1目标 (2) 2.2运行环境 (2) 2.3需求概述 (2) 2.4条件与限制 (3) 3总体设计 (3) 3.1功能模块分析 (3) 3.1.1功能分配 (3) 3.1.2模块设计 (5) 3.2总体结构及模块结构 (5) 4数据结构设计 (8) 4.1逻辑模型设计 (8) 4.2物理模型设计 (9) 4.3数据库设计 (9) 5接口设计 (10) 5.1外部接口设计 (10) 5.1.1界面设计及说明 (10) 5.1.2软件接口 (17) 5.1.3硬件接口 (17) 5.2内部接口设计 (18) 6运行设计 (18) 6.1运行模块的组合 (18) 6.2运行控制 (18) 6.3运行时间 (18) 7出错处理设计 (18) 7.1出错输出信息 (18) 7.2出错处理对策 (18) 8安全保密设计 (19) 9维护设计 (19)

1 引言 1.1编写目的 本说明是个人通讯录管理系统软件产品的总体设计和实现说明,记录了系统整体实现上技术层面上的考虑,并且以需求说明作为依据,同时该文档将作为产品实现、特性要求和控制的依据。 软件开发小组的每一位参与开发成员应该阅读本说明,以清楚产品技术方面和实现策略,本手册将进行技术评审和技术的可行性检查,同时个人通讯录管理系统软件的开发途径和应用方法,以求在最短的时间高效开发个人通讯录管理系统。 1.2项目背景 本项目的名称:个人通讯录管理系统 本项目的任务提出者及开发者是07软工A2第一小组 用户是一般个人。 本产品是针对为能本地化无网络的获得通讯录信息的需求而设计的,主要功能包括,对联系人的信息管理,实现各种搜索方式及排序,实现联系人分组及组管理等功能。 1.3预期读者 本说明书的预期读者是项目的开发人员,测试人员和维护人员。 1.4参考文献 [1]. 《https://www.wendangku.net/doc/3315793393.html, 2.0网络编程从基础到实践》马颖华苏贵洋袁艺苏桂涛编著 [2]. 《UML基础与Rose建模教程》蔡敏徐惠惠黄炳强编著 [3]. 《C#数据库系统开发完全手册》明日科技张跃延许文武王小科编著

通讯录管理系统课程设计报告完整版

通讯录管理系统课程设 计报告 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

设计课题题目 一、课程设计目的与要求 1.课程设计目的 (1)综合运用之前所学知识(选择控制,循环控制,数组,函数,指针,结构体和文件等)来完成一个简单的信息管理程序的设计。 (2)充分体现和体会函数在程序设计中的必要性和实用性,并反映主函数main ()在程序设计中的实现思路和方法。 2. 课程设计要求 制作一个通讯录系统。 (1)该程序具有查找、添加、修改、删除功能。 (2)通讯录包括:姓名、电话、街道、城市、省、邮编等。 二、总体设计 根据系统的要求,系统总体设计如图1所示。 1

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); ame,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

通讯录管理系统课程设计报告书C语言

二〇〇八~ 二〇〇九学年第二学期 信息科学与工程学院 课程设计报告书 课程名称: C语言课程设计 班级:

学号: 姓名: 指导老师: 月九年二〇〇九 通讯录管理系统 一.需求分析 设计题目及要求: ◆建立通讯录信息,信息至少包含编号、姓名、年龄、电话、通讯地址、电子邮箱等; ◆能够提供添加、删除和修改通讯录信息的功能; ◆能够提供安不同方式查询的功能;如按姓名或年龄、电话等查询; ◆将通讯录保存在文件中; ◆能够按表格方式输出通讯录信息。 系统功能需求分析: 主要包含一下多种功能: 添加:添加通讯录记录 显示:显示通讯录记录 删除:删除通讯录记录 查询:查询通讯录记录 修改:修改通讯录记录 保存:将信息保存到文件 二.概要设计 系统功能模块图:

添加:可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱后,会提示是否继续添加。. 显示:可以以表格形式输出所有通讯录里的记录 删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容 查询:可以选择用姓名、电话、地址三种方式查询 修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱即可完成修改 保存:,输入文件名(带后缀名)后,即可将通讯录信息保存到文件 三.详细设计 (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())

通讯录管理系统需求分析

通讯录管理系统需求分析 项目编号:S1-BS-HTML-001 l项目概述 1.引言 1.1编写目的 在完成了针对通讯录管理系统的前期调查,同时与多位软件使用者进行了全面深入地探讨和分析的基础上,提出了这份软件需求规格说明书。 此需求规格说明书对《通讯录管理系统》软件做了通讯录管理系统的用户需求分析,明确所要开发的软件应具有的功能、性能与界面,使系统分析人员及软件开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。本说明书的预期读者为客户、业务或需求分析人员、测试人员、用户文档编写者、项目管理人员。 本说明书是整个软件开发的依据,它对以后阶段的工作起指导作用。本文也是项目完成后系统验收的依据。

1.2项目背景 本通讯录信息管理系统用计算机管理电子通讯录的一种计算机应用技术的创新,在计算机还未普及之前通讯管理都是由联系人采用名片,笔录手工记帐的方式来操作的.现在一般的通讯录管理都是采用计算机作为工具的实用的计算机通讯录管理程序来帮助人们进行更有效的通讯录信息管理。通讯录管理系统是典型的信息管理系统(mis),要求应用程序功能完备,易使用等特点。 1.3定义 需求:用户解决问题或达到目标所需的条件或功能;系统或系统部件要满足合同、标准,规范或其它正式规定文档所需具有的条件或权能。 2.任务概述 2.1目标 实现通讯录管理系统的基本功能,可以实现电话用户的查询、电话号码的查询、电话号码所在地的查询、电话号码的添加及删除等功能,以方便人们的记录和通讯。 2.2运行环境 2.2.2.1服务端 A. 操作系统:Windows 2003 Server 2.2.2.2客户端 A. Windows 95/98/me/Xp/2000/2003, Unix, Linux,Vista,Mac OS各版 2.3条件与限制 本通讯录信息管理系统用计算机管理电子通讯录的一种计算机应用技术的创新,在计算机还未普及之前通讯管理都是由联系人采用名片,笔录手工记帐的方式来操作的.现在一般的通讯录管理都是采用计算机作为工具的实用的计算机通讯录管理程序来帮助人们进行更有效的通讯录信息管理。通讯录管理系统是典型的信息管理系统(mis),要求应用程序功能完备,易使用等特点。 3.数据描述 开始 3.1数据流图 以可读写的方式打开一个数据文件 将此文件的内容读出,并存入一个新的结构体类型的数组中。 调用menu()菜单函数

C语言通讯录管理系统程序设计

广西科技大学鹿山学院 课程设计报告 课程名称:c语言程序设计 课题名称:通讯录管理系统设计 指导教师:倪志平 班级:物联网152 姓名:吴肖军 学号:20153076 成绩评定: 指导教师签字: 二〇一六年七月六日 目录 1 需求分析 (3)

2 总体分析与设计 (3) 2.1总体设计方案 (3) 2.2功能描述 (3) 2.2.1 新增联系人模块 (4) 2.2.2 保存联系人模块 (4) 2.2.3 查询联系人模块 (4) 2.2.4 显示联系人模块 (4) 2.2.5 修改联系人模块 (4) 2.2.6 删除联系人模块 (4) 2.2.7读取联系人模块 (5) 2.2.8退出系统模块 (4) 2.3系统流程图 (5) 3系统实现 (6) 4功能测试 (11) 4.1.1 新增联系人 (11) 4.1.2 查询联系人 (13) 4.1.3显示联系人 (14) 4.1.4修改联系人 (15) 4.1.5删除联系人 (16) 4.1.6退出系统 (17) 总结 (18) 参考文献 (18) 课程设计目的 1 需求分析 通讯录档案信息采用文件存储,因而要提供文件的输入输出操作;根据联系人信息的变动情况,添加删除记录,因而要提供文件的添加删除操作;根据编号进项查询,所以要提供

文件的查找操作;高级编辑功能,就是提供文件的修改操作;显示功能就是显示出通讯录中所有联系人的功能;另外还要提供键盘式选择菜单以实现功能选择。 2 总体分析与设计 1.总体设计 总体设计目标:使用者可以利用本系统对通讯录的各项管理进行操作,根据用户要求自动进行新增联系人,保存联系人,删除联系人,查找所要的联系人,修改所要的联系人,最后将他们清楚地显示在屏幕中。 结合上述分析,该系统应包括一下模块:新增联系人,保存联系人,查询联系人,修改联系人,显示联系人,删除联系人,退出系统。结构图如下。 2.1 总体设计方案 根据以上需求分析,通讯录管理系统划分为七个功能模块,分别是新增联系人模块,保存联系人模块,查找联系人模块,修改联系人模块,显示联系人模块,删除联系人模块,读取联系人模块。其中各功能模块的具体说明如下。

个人通讯录管理系统c语言源程序优秀版)

#include /*头文件*/ #include //包含最常用的系统函数 #include //关于字符数组的函数定义的头文件#include //控制台输入输出 //定义结构体 struct tongxunlu /*定义通讯录结构体变量*/ { char xingming[20]; /*定义输入名字的数组*/ char dianhua[20]; /*定义输入电话号码的数组*/ char dizhi[40]; /*定义输入地址的数组*/ } txl[100]; //默认100个数据 int n=0;//记录数据联系人数量 FILE *fp; /*定义文件*/ //程序用到的所有函数 void zhucaidan(); /*主菜单函数*/ void zengjia(); /*增加联系人函数*/ void readfile(); /*文件中读入函数*/ void writefile(); /*文件中写入函数*/ void xiugai(); /*修改联系人函数*/ void xiugai_xingming(); /*姓名修改*/ void xiugai_dianhua(); /*电话号码修改*/ void chazhao(); /*查找联系人函数*/

void chazhao_xingming(); /*按姓名查找*/ void chazhao_dianhua(); /*按号码查找*/ void shanchu(); /*删除联系人函数*/ void shanchu_quanbu(); /*全部删除*/ void shanchu_dange(); /*单个删除*/ void xianshi(); /*号码显示*/ //程序主函数模块六 void main() /*主函数main*/ { readfile(); /*读入文件*/ while(1) /* 循环(永远进行)*/ { zhucaidan(); /*调用主菜单函数*/ } } //读取文件函数部分开始模块七 void readfile() { if((fp=fopen("c:\\通讯录.txt","r"))==NULL) /*以只读方式打开判定文件是否为空*/ { printf("\n\t\t\t 通讯录文件不存在"); /*判断结论*/ if ((fp=fopen("同通讯录.txt","w"))==NULL) /*只写方式判断*/

面向对象程序设计课程设计报告同学通讯录管理程序

目录 1.设计题目 (1) 2.设计目的和内容 (1) 2.1设计目的 (1) 2.2设计内容 (1) 3.基本功能描述 (1) 4.设计思路 (1) 5.软件设计 (2) 5.1设计步骤 (2) 5.2界面设计 (3) 5.3关键功能的实现 (3) 5.3.1添加记录 (3) 5.3.2删除记录 (4) 5.3.3选中记录 (4) 5.3.4确认修改 (4) 5.3.5保存记录 (4) 5.3.6退出 (4) 6.结论与心得体会 (4) 7.参考文献 (4) 8.附录 (5) 8.1调试报告及测试结果 (5)

8.2关键源代码 (10) 8.2.1 Student类 (10) 8.2.2全局 (10) 8.2.3List Control初始化 (10) 8.2.4添加记录 (11) 8.2.5删除记录 (11) 8.2.6选中记录 (12) 8.2.7修改记录 (12) 8.2.8保存记录 (13) 8.2.9退出程序 (13)

1.设计题目 同学通讯录管理程序 2.设计目的和内容 2.1设计目的 1)学习Visual C++的MFC开发程序的步骤。. 2)综合运用所学的类、继承和多态的知识。 3)进一步掌握程序的调试方法。 2.2设计内容 1)利用MFC的向导,创建基于对话框的应用程序,添加按钮、编辑框等控件; 2)设计通讯录的数据结构(如:以数组或者动态链表)和相应的类; 3)完成对通讯录中记录的增加、修改、删除和显示; 4)将通讯录存入文本文件。 3.基本功能描述 可以实现学生信息(姓名、学号、系别、邮箱、电话)的添加、显示、选中修改、删除选中和保存并退出程序的功能。 4.设计思路 1)创建基于对话框的MFC应用程序,添加控件:5个Edit Control、6个Button、1 个List Control; 2)在5个Edit Control分别输入相应信息,点击“添加记录”Button可在List Control 中显示相应信息,同时清空五个Edit Control以便下一个学生信息的输入; 3)点中List Control选中已有一组学生信息,点击“删除记录”Button可删除该组 信息; 4)点中List Control选中已有一组学生信息,点击“选择该列”Button将该列信息 返回到5个Edit Control。修改完成后点击“确认修改”Button,对List Control 中选中列完成修改; 5)点击“确认保存”将信息保存到文本文档; 6)点击“退出”退出程序。 7)可在D盘查看保存的信息。

通讯录设计报告

C程序设计报告 系(部、中心) 姓名学号 专业班级 课程名称 设计题目名称 起止时间 成绩 指导教师签名

目录 第1章题目与要求 (3) 1.1 基本要求(及格 (3) 1.2 高级要求(加分)... (3) 第2章用户需求分析 (3) 2.1 功能需求 (3) 第3章设计方案 (3) 3.1设计思路 (3) 3.2功能设计 (3) 第4章实施方案 (4) 第5章软件调试 (5) 5.1 错误介绍 (5) 5.2 错误分析及解决方案 (5) 第6章程序流程图及结构说明 (6) 第7章程序清单 (7) 第8章效果展示 (18)

第1章题目与要求 本次程序设计实践的题目是《通信录管理系统的设计》。 1.1基本要求(及格) (1)使用C语言,设计一个字符界面并带有菜单的通信录管理系统,每个记录中应包含:姓名、性别、年龄、联系电话、电子邮箱等项目。 (2)最大记录数:100。 (3)程序基本功能:显示记录、添加记录、删除记录。 1.2高级要求(加分) (1)以多文件方式设计该程序。 (2)对程序中的数据类型进行自定义(为方便程序的阅读和管理,定义自己的类型名)。 (3)能将该通讯录制作成文件保存于磁盘。 第2章用户需求分析 2.1 功能需求 通过《程序设计实践I(能源11-12)》指导书中的相关要求,以及参考程序流程图的基本程序的框架,同时用户需求的基本功能,要求系统需要有以下功能:(1)有菜单选择界面; (2)联系人信息修改简单方便,支持多种方式的修改; (3)方便的联系人信息查询,支持多种方式的查询; (4)联系人信息查看功能能供用户详细的查看; (5)退出时若用户更改了联系人相关信息或添加、删除联系人时,会提示用户联系人信息已更改是否保存; (8)有动态的开始界面。 第3章设计方案 3.1 设计思路 为了更好地实现上述内容,此程序采用了结构体、链表,来处理联系人的数据。结构体能够包含联系人的各项信息,如姓名、家庭地址、电话号码等,克服了数组只能包含同种类型的数据的缺点。链表数据的存放不需要连续的内存,相对于结构体数组减少了内存空间的浪费。利用fopen等函数创建文件、保存文件数据等,实现退出程序后联系人的数据能够保存,方便以后的查看、添加、修改等动作。采取多文件的方式,能够更好地对程序进行维护调试。 3.2 功能设计

基于c语言的通讯录管理系统设计与实现

基于c语言的通讯录管 理系统设计与实现 Document number【AA80KGB-AA98YT-AAT8CB-2A6UT-A18GG】

《高级语言程序设计》 ——基于c语言的通讯录管理系统的 设计与实现 姓名:王炳旭 学号: 1216F0610119 指导老师:孟芸 系别:信息工程系 专业班级:计科F1201班

《高级语言程序设计》课程设计任务书 设计内容及要求: 1.设计内容 输入功能:记录信息并保存文件中。 显示功能:输出文件中所有信息。 查找功能:查询所需通讯信息。 删除功能:删除无用信息。 2.设计要求 建立通讯录信息,信息包含姓名、性别、班级、电话,保存在文件中; 能够输出文件中所有通讯录信息。 能够提供按姓名、班级或性别查询信息; 能够提供按姓名删除通讯录信息的功能; 时间安排: 九月:选择自己所要设计的程序,查阅书籍、网上查询,收集所需资料解决疑惑。 十月:开始编写程序,不断分析。 十一月:代码实现,程序能够运行。 十二月:写报告,完成课程设计。 《高级语言程序设计》课程设计教师评阅成绩表

《高级语言程序设计》课程设计承诺书

目录 1.引言----------------------------------------------------------------------- 2 1.1设计内容------------------------------------------------------------- 2 1.2设计任务及具体要求--------------------------------------------------- 2 1.3系统环境------------------------------------------------------------- 3 2.总体设计------------------------------------------------------------------- 3 2.1系统功能简介--------------------------------------------------------- 3 2.2总体程序框图--------------------------------------------------------- 3 2.3各个模块之间的主要关系----------------------------------------------- 4 3.详细设计------------------------------------------------------------------- 4 3.1各个模块的程序流程图及运行界面--------------------------------------- 4 3.2关键代码分析说明----------------------------------------------------- 8 3.3程序使用说明--------------------------------------------------------- 9 4.总结----------------------------------------------------------------------- 9 致谢------------------------------------------------------------------------- 9 参考文献--------------------------------------------------------------------- 9 附录------------------------------------------------------------------------ 10 1.引言 当今时代,计算机已经成为人们生活中不可或缺的一部分,它打破了地域时间限制,改变了人们的工作和生活方式。通讯录系统能方便用户的需求,满足用户迅速、准确的查找修改或者删除联系人信息,把各个联系人信息以文档保存。本文介绍了简易通讯录管理系统在VC++6.0环境下的实现过程:系统的分析,功能模块的设计,系统的流程图及运行界面。此系统的主要管理的信息

C语言通讯录程序课程设计报告书

3.6 实例6 通讯录程序 本实例希望设计一个通讯录程序,要求实现通讯录信息的录入,并具有添加、查询、删除、显示等功能;使用结构体存储通讯录中记录信息;使用链表来实现通讯录信息的添加、删除、查询及显示等操作;通讯录程序可实现文件读写,在通讯录信息录入结束之后,可存入文件中,在下次程序运行时可将通讯录中的记录读取到程序中。通讯录程序可采用基于Win32控制台程序构建或采用基于MFC应用向导.EXE的应用程序,下面对这两种方法进行详细介绍。 3.6.1. 设计目的 1、掌握结构体的基本工作原理和工作方式。 2、熟悉结构体与链表的使用方法。 3、熟悉C语言下数据的输入与输出。 4、掌握C语言下对TXT文件的读写操作。 5、熟悉函数的设计方法及调用方法。 3.6.2. 基本要求 1、本实例要求实现对通讯录信息的查找、添加、删除、显示等功能,每个功能模块均能实现随时从模块中退出,可以通过键盘对功能进行选择,完成一个通讯录管理系统的运行。

2、要使用结构体来实现对通讯录信息的存储。 3、使用链表来实现对通讯录信息的查找、添加、删除、浏览显示。 4、使用文件对记录进行存储,程序运行时还可以从文件中读取记录。 5、系统设计完成后应实现类似下图所示界面。 3.6.3 设计结构及算法分析 在进行程序设计时,选择一种合理的数据存储结构是非常关键的。本实例根据题目要求,采用结构体来存放通讯录中的信息,并采用文件存储通讯录中的信息。 1、存储结构 本实例存储数据时,除了采用最常用的基本类型存储外,采用结构体的方式来存储通讯录中的个人信息,结构体如下所

示: struct stu { char name[20]; /*人名*/ char telephone[20]; /*电话*/ char sex[4]; /*性别*/ char company[20]; /*单位*/ struct stu *next; /*链表节点*/ }; typedef struct stu STU; 2、main()主函数 采用模块化设计,功能放在各模块函数中实现。主函数是程序的入口,在其中采用循环结构,根据用户的键盘输入,依次调用各功能函数。 3、mycreate()函数------创建链表函数 函数根据用户输入的信息,存储到结构体中,并建立链表结构,函数返回链表的头指针。链表建立完成后,可根据链表的头指针来添加后续指针。 4、myadd()函数------添加学生信息记录函数 函数根据用户输入信息,分配内存,将数据存储到结构体中,并建立新的链表节点,链接到已经建立好的链表尾部。 5、mydelete()函数------删除链表节点

个人通讯录管理系统,java源代码

/** * 业务类 */ public class PABmanager { /** * 系统启动 */ public static void main(String[] args) { Scanner input = new Scanner(System.in); String num = input.next(); if ("1".equals(num)) { String lbmc = input.next(); String lbsm = input.next(); String lbbz = input.next(); Type type = new Type(lbmc,lbsm,lbbz); typeDao.createType(type); }else if ("2".equals(num)) { List types = typeDao.queryType(); for (int i = 0; i < types.size(); i++) { Type type =types.get(i);

} }else if ("3".equals(num)) { String lbmc = input.next(); Type type = new Type(lbmc,null,null); typeDao.deleteType(type); }else if ("4".equals(num)) { break; }else{ } } }else if ("2".equals(in2)) { break; }else{ } } }else if ("3".equals(in2)) { System.exit(-1); }else{ } } } }

通讯录管理系统项目可行性分析

通讯录管理系统可行性 分析报告 一、可行性研究报告.................................................................. 错误!未定义书签。1.引言.. (2) 1.1编写目的 (2) 1.2项目背景 (2) 1.3定义 (2) 1.4参考资料 (2) 2.可行性研究的前提 (2) 2.1要求 (2) 2.2目标 (3) 2.3条件、假定和限制 (3) 2.4可行性研究方法 (3) 2.5决定可行性的主要因素 (3) 3.对现有系统的分析 (3) 3.1处理流程和数据流程 (3) 3.2工作负荷 (4) 3.3费用支出 (4) 3.4人员 (4) 3.5设备 (4) 3.6局限性 (4) 4.所建议技术可行性分析 (4) 4.1对系统的简要描述 (5) 4.2处理流程和数据流程 (5) 4.3与现有系统比较的优越性 (6) 4.4采用建议系统可能带来的影响 (6) 4.5技术可行性评价 (7) 5.所建议系统经济可行性分析 (7) 5.1支出 (7) 5.2效益 (8) 5.3收益/投资比 (9) 5.4投资回收周期 (9) 5.5敏感性分析 (9) 6.社会因素可行性分析 (9) 6.1法律因素 (10) 6.2用户使用可行性 (10) 7.其他可供选择的方案 (10)

1.引言 1.1编写目的 编写本报告目的是研究本系统的总体需求,实现方案,并分析开发系统的可行性,为决策者提供是否开发该系统的可行性,为决策者提供是否开发该系统的依据和建议。 1.2项目背景 名称:通讯录管理系统; a.本项目的任务提出者:周帅、Meiko、Uzi、StoryAC b.开发者:周帅、Meiko、Uzi、StoryAC 1.3定义 通讯录管理系统 1.4参考资料 《软件工程——原理,方法与应用》吴钦藩编着人民交通出版社出版 《软件工程导论(第四版)》张海藩编着清华大学出版社出版 《软件工程》任胜兵邢琳编着北京邮电大学出版社 2.可行性研究的前提 2.1要求 列出并说明建议开发软件的基本要求,如: a.功能:用户基本信息的录入,修改,查询,删除以及系统的维护 b.性能: c.输出:用户的编号姓名性别民族出生日期移动电话电子邮件传真家庭住址及 工作单位等信息输入说明系统的输入,包括数据的来源、类型、数量、数据的组织以及提供的频度; d.输入:用户的基本资料及相关有效信息;

相关文档
相关文档 最新文档