欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    VC通讯录管理系统.docx

    • 资源ID:7437072       资源大小:342.30KB        全文页数:21页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    VC通讯录管理系统.docx

    1、VC通讯录管理系统 VC+项目开发 期末考评 学院: 计算机工程学院 班 级: 11计算机科学3班 学生姓名: 王志成 学 号: 2011404010306 设计地点(单位): A5-102 设计题目: 通讯录管理系统 完成日期:2014年6月13日 指导教师评语: _ 成绩(五级记分制):_ 教师签名:_ 摘要 通讯录是我们每个人必不可少的一个工具,此通讯录系统利用VC+设计完成 ,Access数据库。本着人性化的设计,此系统包括了联系人的姓名、电话、地址、E-mail、分组和备注等信息,利用此系统可以对联系组进行查询、增加、删除等操作,利用此系统可以对联系人进行查询、增加、修改、删除等操作

    2、,基本上可以 满足我们对通讯录的需要。针对以上要求,简易通讯管理系统具有以下特点:1.操作简单,所有人不需学习就可以使用。2.输入简单,输入框都有相关提示,我们可以按照提示输入相关信息。3.界面显示信息完整,界面上每一个编辑框显示一条联系人信息,很清楚地显示了联系人的全部信息。关键字:VC+ 通讯管理系统目录1. 选题背景及设计 11.1 选题背景 11.2 通讯录制作的要求 12. 项目设计及实现 12.1设计概述 12.1.1 分组信息表groupInfo的结构及数据 12.1.2 组内成员信息表People的结构及数据 22.2 项目总体设计 32.2.1 界面设计 32.2.2 主窗体

    3、界面控件设计 32.2.3 添加组界面设计 42.2.4 查询界面设计 42.3 详细设计及功能实现 42.3.1 对数据库表及操作界面的操作设计 42.3.2 功能实现 73.系统的测试 123.1 添加组的测试 123.2 查询操作的测试 133.3 删除组及组内成员测试 134. 总结 14参考文献 14通讯录管理系统1. 选题背景及设计1.1 选题背景对于即将走入社会的人群,已经认识的或者将要认识的人会越来越多,更新麻烦、查询困难等缺点,是纸质通讯录所不能克服的。因此,现实中,纸质的通讯录已经不能满足我们的要求。在此情况下,迫切需要一个电子版的通讯录来满足我们的需求。1.2 通讯录制作

    4、的要求通讯录管理系统采用ODBC、Access数据库作为软件的后台,用微软公司的快速开发工具Microsoft Visual C+6.0/MFC开发软件的前台界面及功能实现部分,制作的通讯录能够用SQL(结构化查询语言)实现对数据库中的数据的多功能查询,插入,以及删除等操作,而且要求界面良好。 通讯录内的人员信息要按组进行分类,方便查询、管理。用户可以随时对组内成员很方便地进行增、删、改、查操作,实现方便地管理。通讯录制作的内容包括以下部分:1) 要求通讯录界面中要包含组组名有“我的好友”、“朋友”、“同学”、“同事”和“未分组”等信息;2) 成员信息内容的信息展示成员信息内容的信息包括“姓名

    5、”、“性别”、“工作单位”、“办公电话”、“住址”、“住宅电话”、“手机”、“邮箱”、“QQ”、“MSN”和“备注”等信息;3) 通讯录的操作功能通讯录的操作功能有“增加组”、“查询”、“增加”、“更新”、“删除”和“退出”等信息通讯录分组列表显示以及单击组名后,显示该列表内的成员名;其中,当单击“增加组”按钮时,系统弹出一个“创建新组”对话框;当单击“查询”2. 项目设计及实现2.1设计概述用Microsoft Access创建的联系人信息数据库address.mdb结构如下:2.1.1 分组信息表groupInfo的结构及数据1) 分组信息表的结构如下:图1 groupInfo表结构2)

    6、相关测试数据如下:图2 相关测试数据2.1.2 组内成员信息表People的结构及数据组内成员住处表的结构如下:图3 组内成员表相关测试数据,如下:图4 相关测试数据2.2 项目总体设计2.2.1 界面设计图5 主界面2.2.2 主窗体界面控件设计添加十个静态文本框,标题分别设为“姓名”、“性别”、“工作单位”、“办公电话”、“住址”、“住宅电话”、“手机号码”、“邮箱”、“QQ”、“MSN”,ID号不变,另添加9个编辑框和2个单选按钮,其控件ID号及变量名设置如下表所示:控件类型或功能控件ID号变量类型变量名编辑框IDC_EDIT_NAMECStringm_name编辑框IDC_EDIT_C

    7、OMPANYCStringm_company编辑框IDC_EDIT_PHONEINCOMPANYCStringm_phoneInCompany编辑框IDC_EDIT_ADDRESSCStringm_address编辑框IDC_EDIT_PHONEATHOMECStringm_phoneInHome编辑框IDC_EDIT_MOBILECStringm_mobile编辑框IDC_EDIT_MAILCStringm_mail编辑框IDC_EDIT_QQCStringm_qq编辑框IDC_EDIT_MSNCStringm_msn单选按钮IDC_RADIO_MANintm_sex单选按钮IDC_RADI

    8、O_WEMAN-无表1 添加一个树状控件和6个Button按钮,按钮控件ID号及功能如下表所示:按钮名称按钮ID号添加组IDC_BUTTON_APPENDGROUP查询IDOK添加IDC_BUTTON_APPEND修改IDC_BUTTON_EDIT删除IDC_BUTTON_REMOVE退出IDCANCEL表2 2.2.3 添加组界面设计图6 创建新组界面2.2.4 查询界面设计图7 查询界面2.3 详细设计及功能实现2.3.1 对数据库表及操作界面的操作设计1) CGroupInfo类绑定操作新建一个基类为CRecordSet的类CGroupInfo,绑定数据库的groupInfo表,数据表的

    9、字段名和类变量的对应关系设计如下表所示:数据表字段名变量类型变量名称groupNameCStringm_groupNameidlongm_id表32) CPeolpe类绑定操作新建一个基类为CRecordSet的类CPeople,绑定数据库的People表,数据表的字段名和类变量的对应关系设计如下:3) INTERFACECTRLODATA类将界面的变量定义成一个结构体:/* 界面编辑信息 */typedef struct CString strName; bool bSex; CString strCompany; CString strPhoneInCompany; CString str

    10、HomeAddress; CString strPhoneInHome; CString strMobile; CString strMail; CString strQq; CString strMsn; CString strMemory;INTERFACECTRLDATA; /interfacectrldataclass CMy113_306_Dlg : public CDialog/ Constructionpublic: CMy113_306_Dlg(CWnd* pParent = NULL); / standard constructor/ Dialog Data /AFX_DAT

    11、A(CMy113_306_Dlg) enum IDD = IDD_MY113_306_DIALOG ; CTreeCtrl m_tree_list; CString m_address; CString m_company; CString m_mail; CString m_memory; CString m_mobile; CString m_msn; CString m_phoneInHome; CString m_phoneInCompany; CString m_qq; int m_sex; CString m_name; /AFX_DATA / ClassWizard genera

    12、ted virtual function overrides /AFX_VIRTUAL(CMy113_306_Dlg) protected: virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support /AFX_VIRTUAL/ Implementationprotected: HICON m_hIcon; / Generated message map functions /AFX_MSG(CMy113_306_Dlg) virtual BOOL OnInitDialog(); afx_msg void OnSysCo

    13、mmand(UINT nID, LPARAM lParam); afx_msg void OnPaint(); afx_msg HCURSOR OnQueryDragIcon(); virtual void OnCancel(); afx_msg void OnButtonAppend(); afx_msg void OnSelchangedTreeList(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnClickTreeList(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnButtonR

    14、emove(); afx_msg void OnButtonAppendgroup(); afx_msg void OnButtonEdit(); virtual void OnOK(); afx_msg void OnRadioMan(); afx_msg void OnRadioWeman(); /AFX_MSG DECLARE_MESSAGE_MAP()private: bool RemovePeople(int id); bool RemoveGroup(int id); void RefurTree(); int GetCurrentSelGroupId(); void Collap

    15、seTree(); void InitTreeList(); void SwitchData(INTERFACECTRLDATA& info, bool flag); CDatabase m_database; bool CheckInputInfo();2.3.2 功能实现1) 添加组功能的实现 / 功 能: 增加组void CMy113_306_Dlg:OnButtonAppendgroup() CAppendNewGroupDialog dlg; if(dlg.DoModal() = IDOK) RefurTree(); 2) 查询功能的实现/ 功 能: 查询按钮响应void CMy11

    16、3_306_Dlg:OnOK() CQueryPeopleDialog dlg; if(dlg.DoModal() = IDOK) / 取得待查询联系人名 CString strPeopleName = dlg.m_peopleName; / 执行查询 CDatabase db; CPeople people(&db); CString strSql; strSql.Format(SELECT * FROM people WHERE fullName=%s ORDER BY groupId DESC, id, strPeopleName); people.Open(AFX_DB_USE_DEF

    17、AULT_TYPE, strSql); if(people.GetRecordCount() = 0) MessageBox(没有找到要查询的联系人!, 提示, MB_OK | MB_ICONINFORMATION); return; / 显示结果 while(!people.IsEOF() / 取得联系人ID int nId; nId = people.m_id; HTREEITEM htiItem = m_tree_list.GetRootItem(); while(NULL != htiItem) m_tree_list.GetItemData(htiItem); m_tree_list

    18、.Select(htiItem, TVGN_CARET); / 清空联系人信息 INTERFACECTRLDATA temp; SwitchData(temp, true); / 选中组下的联系人 HTREEITEM hPeople = m_tree_list.GetChildItem(htiItem); while(NULL != hPeople) if(nId = m_tree_list.GetItemData(hPeople) m_tree_list.Select(hPeople, TVGN_CARET); goto SEEKEND; hPeople = m_tree_list.GetN

    19、extSiblingItem(hPeople); htiItem = m_tree_list.GetNextSiblingItem(htiItem); SEEKEND: / 移至下条记录 people.MoveNext(); if(!people.IsEOF() if(MessageBox(还有满足条件的联系人,继续查看下一条吗?, 确认, MB_YESNO | MB_ICONQUESTION) = IDNO) break; / 中断查询,跳出循环 people.Close(); db.Close(); 3) 添加功能的实现/* 增加按钮 */void CMy113_306_Dlg:OnBut

    20、tonAppend() / 输入合法 if(CheckInputInfo() / 取得当前选定组 int nGroupId = GetCurrentSelGroupId(); / 取得界面数据 INTERFACECTRLDATA interfaceCtrlData; SwitchData(interfaceCtrlData, false); CDatabase database; database.Open(_T(address); / 生成插入指令 CString strSql; if(nGroupId = -1) CString strFormat = INSERT INTO people

    21、(fullName, sex, company, phoneInCompany, homeAddress, phineInHome, mobile, mail, qq, msn, memory) VALUES(%s, %d, %s, %s, %s, %s, %s, %s, %s, %s, %s); strSql.Format(strFormat, interfaceCtrlData.strName, interfaceCtrlData.bSex, interfaceCtrlData.strCompany, interfaceCtrlData.strPhoneInCompany, interfa

    22、ceCtrlData.strHomeAddress, interfaceCtrlData.strPhoneInHome, interfaceCtrlData.strMobile, interfaceCtrlData.strMail, interfaceCtrlData.strQq, interfaceCtrlData.strMsn, interfaceCtrlData.strMemory); else CString strFormat = INSERT INTO people(groupId, fullName, sex, company, phoneInCompany, homeAddre

    23、ss, phineInHome, mobile, mail, qq, msn, memory) VALUES(%d, %s, %d, %s, %s, %s, %s, %s, %s, %s, %s, %s); strSql.Format(strFormat, nGroupId, interfaceCtrlData.strName, interfaceCtrlData.bSex, interfaceCtrlData.strCompany, interfaceCtrlData.strPhoneInCompany, interfaceCtrlData.strHomeAddress, interface

    24、CtrlData.strPhoneInHome, interfaceCtrlData.strMobile, interfaceCtrlData.strMail, interfaceCtrlData.strQq, interfaceCtrlData.strMsn, interfaceCtrlData.strMemory); / 执行插入 database.ExecuteSQL(strSql); database.Close(); / 清空界面显示 INTERFACECTRLDATA temp; SwitchData(temp, true); / 刷新Tree RefurTree(); 4) 查询

    25、功能的实现 / 功 能: 更新当前联系人信息void CMy113_306_Dlg:OnButtonEdit() / 输入合法 if(CheckInputInfo() / 取得界面数据 INTERFACECTRLDATA interfaceCtrlData; SwitchData(interfaceCtrlData, false); / 取得当前联系人ID HTREEITEM hSelItem = m_tree_list.GetSelectedItem(); int nID; nID = m_tree_list.GetItemData(hSelItem); / 更新数据 CDatabase d

    26、b; db.Open(address); CString strSql; strSql.Format(UPDATE people SET fullName=%s, sex=%d, company=%s, phoneInCompany=%s, homeAddress=%s, phineInHome=%s, mobile=%s, mail=%s, qq=%s, msn=%s, memory=%s WHERE id=%d, interfaceCtrlData.strName, interfaceCtrlData.bSex, interfaceCtrlData.strCompany, interfac

    27、eCtrlData.strPhoneInCompany, interfaceCtrlData.strHomeAddress, interfaceCtrlData.strPhoneInHome, interfaceCtrlData.strMobile, interfaceCtrlData.strMail, interfaceCtrlData.strQq, interfaceCtrlData.strMsn, interfaceCtrlData.strMemory, nID ); db.ExecuteSQL(strSql); db.Close(); 5) 修改功能的实现 / 功 能: 更新当前联系人信息void CMy113_306_Dlg:OnButtonEdit() / 输入合法 if(CheckInputInfo() / 取得界面数据 INTERFACECTRLDATA interfaceCtrlData;


    注意事项

    本文(VC通讯录管理系统.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开