VC++课程设计报告--手机通讯录

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Visual C++课程设计
题目名称:手机通讯录
班级:
姓名:
学号:
指导教师:
完成时间:2013.1.18
题目描述
利用Visual C++实现一个手机通讯录,能够进行简单的操作管理。

1功能分析
主要功能包括:
(1)分组管理
能够进行组别添加、删除、修改。

(2)用户管理
能够实现联系人的添加、删除、修改,联系人信息包括姓名、手机、办公室电话、电子邮箱、QQ、微博。

(3)用户查询
能够通过输入姓名或手机号码进行查询。

(4)功能模拟
当选中一个联系人的时候,可以通过操作进行通话和发送短信。

2软件设计
2.1 软件整体结构
2.1.1总体框架
图1 总体框架
2.1.2联系人操作
用户可以通过操作修改联系人信息或与联系人进行通话或短信联系。

图2 联系人操作
2.2 模块功能
添加组别:可以添加新的组别
删除组别:选中欲删除的组别后,会自动删除该小组以及该组包含的人员记录
添加人员:可以添加联系人记录,依次输入姓名、手机、办公室电话、电子邮箱、QQ、微博
删除人员:选中欲删除的联系人的名字后,会自动删除他(她)的记录内容
查找信息:可以选择用姓名、手机号两种查询方式图形基类的设计
2.3 程序界面设计
界面环境作为人机信息交流的通道,主要是辅助用户完成工作。

为了方便用户使用,在系统实现中进行了工具栏设计、光标设计和状态栏设计。

2.4 类与函数的设计与实现
2.4.1定义一个类CPeople
程序中处理的学生信息是一个数据序列,即线性表结构。

class CPeople
{
public:
CString m_strNumber;
CString m_strTelephone;
CString m_strEmail;
CString m_strQq;
CString m_strMircoblog;
void SetPeople(char *strNumber,char *strTelephone,char *strEmail,char *strQq,char *strMircoblog)
{
m_strNumber=strNumber;
m_strTelephone=strTelephone;
m_strEmail=strEmail;
m_strQq=strQq;
m_strMircoblog=strMircoblog;
}
};
2.4.2主要函数的设计与实现
(1)联系人的添加
void CMy11011111220113Dlg::OnAdd()
{
HTREEITEM selItem = m_treePhone.GetSelectedItem();//获得树中选中节点
if(selItem == NULL) //如果没有选中节点,返回
return;
if(selItem == m_treePhone.GetRootItem()) //如果选中了根节点,返回return;
DWORD data = m_treePhone.GetItemData(selItem); //获得选中节点关联数据
if(data == NULL) //如果为空,是分组节点
{
CAddDlg dlg;
if(dlg.DoModal() == IDOK)//显示添加人员对话框,并判断是否单击确定按钮
{
//在选中节点下添加新节点
HTREEITEM item = m_treePhone.InsertItem(dlg.m_strName,2,2,selItem);
CPeople *pString;
pString=new CPeople;
pString->m_strNumber=dlg.m_strNumber;
pString->m_strTelephone=dlg.m_strTelephone;
pString->m_strEmail=dlg.m_strEmail;
pString->m_strQq=dlg.m_strQq;
pString->m_strMircoblog=dlg.m_strMircoblog;
m_treePhone.SetItemData(item,(DWORD)pString); //设置关联数据
refreshList(selItem);
}
}
}
(2)联系人的删除
void CMy11011111220113Dlg::OnDelete()
{
HTREEITEM selItem = m_treePhone.GetSelectedItem(); //获得树中选中节点if(selItem == NULL) //如果没有选中节点,返回
return;
if(selItem == m_treePhone.GetRootItem()) //如果选中了根节点,返回
return;
DWORD m = m_treePhone.GetItemData(selItem); //获得选中节点关联数据
if(m != NULL) //如果不为空,是人员节点
{
if(AfxMessageBox("确定要删除" + m_treePhone.GetItemText(selItem) + "?",MB_OKCANCEL) == IDOK)
{
HTREEITEM parent = m_treePhone.GetParentItem(selItem);
CString *pString = (CString*)m; //删除关联数据
delete pString;
m_treePhone.DeleteItem(selItem); //删除节点
refreshList(parent);
}
}
}
(3)联系人的修改
void CMy11011111220113Dlg::OnModify()
(4)信息查询
void CMy11011111220113Dlg::OnFind()
(5)组别的添加
void CMy11011111220113Dlg::OnAddg()
(6)组别的删除
void CMy11011111220113Dlg::OnDeleteg()
(7)组别的修改
void CMy11011111220113Dlg::OnModifyg()
3运行与测试结果
3.1 程序主要运行界面
3.1.1编译并连接源程序,执行程序后显示的主界面
3.1.2添加联系人姐姐的界面3.1.2删除联系人哥哥的界面
3.1.3查找联系人妹妹的界面3.1.4修改联系人李强的界面
3.1.5呼叫界面
3.1.6编辑短信界面
3.1.7短信发送界面
3.2 系统测试
3.2.1界面操作测试
通过操作各个菜单项,检查各部分的功能是否与菜单提示一致。

通过操作各按钮,检查其是否能够正常工作。

4小结
在做这个小课题之前,先参考一些书,对整个Windows程序内部运行机制先
做一定的了解,整个Windows程序的运行机制是:1,创建窗口:设计一个窗口
类、注册窗口类、创建窗口、显示及更新窗口;2,消息循环;3,窗口过程函数,
其中窗口过程函数是关键,根据我们的需要来进行编写。

MFC(Microsoft Foundation Class,微软的基础类库),它是微软为了简化
程序员的开发工作所开发的一套C++类的集合,是一套面向对象的函数库,以类
的方式提供给用户使用,利用这些类可以有效地帮助程序员完成Windows应用程
序的开发,而MFC AppWizard 是一个辅助我们生成源代码的向导工具,它可以
帮助我们自动生成基MFC框架的源代码。

该向导的的每一个步骤中,我们都可以
根据需要来选择各种特性,从而实现定制应用程序。

对于基于MFC的简易通讯录管理系统的设计,需要对联系人的信息进行管
理,需要调用MFC类中的函数,对于这个MFC的应用程序,主要的类有CPeople,
OnAdd()、OnDelete()、OnModify()等函数实现对人员信息的添加、删除、
修改,OnFind()实现信息的查询,OnAddg()、OnDeleteg()、OnModifyg()
等函数实现对组别的添加、删除、修改。

基于MFC的简易通讯录管理系统,只是对MFC的简单的应用,通过它,我对MFC的工作机制有了初步的了解,对MFC的深入了解还需要更多的时间和更多的实践,以后会尝试做出
功能更强大的应用程序来。

参考文献
I.徐琳茜、阎光伟、彭文《基于案例的Visual C++程序设计教程》清华大学出版社II.互联网
附录
工作间空间:
欢迎下载,资料仅供参考!!!资料仅供参考!!!。

相关文档
最新文档