C++面向对象课程设计 通信录

本文档描述了一个使用Microsoft Visual C++设计的通讯录管理软件,实现了添加、修改、删除、查询和排序等功能。通过ODBC连接数据库,支持姓名和关系的查询方式,以及按姓名和关系的排序。程序提供了直观的界面和多种操作方式,包括菜单和工具条操作。设计中采用了CRecordset、CRecordView等类,并讨论了关键技术和实现难点。
摘要由CSDN通过智能技术生成

通讯录软件工具》

一、题目简介

      利用 Microsoft Visual C++ 软件工具设计一个通讯录软件。

通讯录是我们日常生活中经常用到的抽象通讯管理工具,用其自身的功能给人们带来通讯的方便。在本次的课程设计中我利用 Microsoft Visual C++ 软件工具设计这个工具。本工具实现了通讯录的添加、修改、删除 , 排序及查询功能。界面的列表框能显示本程序保存的全部名单 , 单击列表中的每一条记录能立即更新显示该记录的全部信息。在浏览状态下不能对人员信息进行修改。添加新记录,可向数据库添加记录并保存。修改当前记录,能够修改除此记录的信息。删除当前记录,删除记录之前提供确认信息。供有排序功能,即程序能够按照“姓名”、“关系”进行排序。当然少不了查询功能 , 此程序提供了两种不同的查询方式 , 可列出满足条件的人员名单。设计界面直观、实用 , 容易操作 .

 

二、系统概述

1. 系统介绍:

此通讯录是用 Microsoft Visual C++ 设计的 , 利用 ODBC 连接数据库 ,, 通过此工具可对数据库可靠读取 , 修改 , 筛选 , 录入 , 保存等操作 , 可对编译通过后 , 生成可执行文件 , 执行此程序可对人员信息进行管理.  

 

2. 系统功能:

 

ü        流程图

无法显示

ü        具体实现

1)       显示所有已记录的资料:打开程序可看到一个列表, 表中记录了数据库中现在的所有记录。

2)       显示某个记录的详细资料:某人记录的记录除了可以在列表中看得到, 但为了直观, 也可点击列表中的某一条记录, 即可在界面上看到所指向的记录的具体资料.

 

3)       修改当前记录:当 用户点击了 修改当前记录 的按钮后, 会弹出一个新的对话框, 进行当前记录的数据的修改, 修改完之后, 点击确定即可把修改后的数据保存在数据库中.

 

4)       删除记录: 点击了 删除当前记录 的按钮, 会弹出一个对话框, 确认要删除当前记录, 点击确定后, 便可删除被选中的记录.

 

5)       添加记录: 点击了 删除当前记录 的按钮, 弹出一个新的对话框, 用户按照姓名、电话、手机、QQ 、电子邮件地址、地址、备注的顺序录入,输完之后, 点击确定即可把数据直接录入数据库中.

 

6)       查询记录 本程序可通过姓名和关系两种途径来查询资料。点击了“查找”的按钮,会弹出一个新的对话框,提示用户选择哪种方式进行查询,选择完后确定,便可对数据库里的记录进行查找,若找不符合要求的记录,则提示“找不到该记录”,并返回主界面,若找到相符合的记录,则把相关的记录显示在主界面的列表中。

       

7)       排序:为了列表的直观,方便查找,本程序利用了数据库的筛选功能实现了排序的功能,并且提供了两种不同的排序方式,一是按姓名,二是按关系。点击“排序”按钮后,便弹出一个新的对话框,提供用户选择排序的方式,点击确定后,程序使全对数据库里的记录进行排序,并把排序后的记录重新载入到列表中。

 

8)       其它功能,本程序除了可利用按钮进行操作之外,也提供了多种操作方式,如菜单操作,工具条操作,例如,当你想添加记录时,除了可以点击“添加记录”按钮外,还可以点击菜单栏的“操作——> 添加记录”。想滚动查看记录,可利用程序上方的工具条进行操作。

 

9)       退出系统 想退出本程序时,直接点击关闭即可,不需要再保存,因为对用户的操作与数据库更新是同步的。

 

三、系统设计

 

基础类为 CRecordset( 记录集类 ) CRecordView( 记录视图类 ) CMySet CMyView

它们之间的关系如下图

无法显示

视图类为 CMyView 对话框类有 CDialogAdd CFindDialog DialogOrd ,他们的关系如下图:

无法显示

 

四、关键技术

1.     CDatabase

要建立与数据源的连接,首先应构造一个 CDatabase 对象,然后再调用 CDatabase Open 成员函数. Open 函数负责建立连接 . 要从一个数据源中脱离,可调用函数 Close 。在脱离后,可以再次调用 Open 函数来建立一个新的连接.调用 IsOpen 可判断当前是否有一个连接,调用 GetConnect 可返回当前的连接字符串。

2.     CMySet

CMySet 是从 CRecordset 派生出来的一个类,继承其父类的一些基本功能,CRecordset 类代表一个记录集.该类是MFCODBC 类中最重要、功能最强大的类。

变量:

m_strFilter    // 记录的过滤变量

m_strSort       // 记录的排序变量

long       m_ID;

CString   m_column1;   // 姓名

CString   m_column2;    // 关系

CString   m_column3;    // 电话

CString   m_column4;    // 手机

CString   m_column5;    // 地址

CString   m_QQ;        //QQ

CString   m_Email;      // 电子邮箱

CString   m_column6;    // 备注

   

函数说明:

void MoveNext( );       // 后退一个记录(由 CRecordset 继承)

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值