数据结构课程设计报告 手机个人通讯录信息管理系统正文终稿 联系客服

发布时间 : 星期五 文章数据结构课程设计报告 手机个人通讯录信息管理系统正文终稿更新完毕开始阅读

3.3 函数原型设计

Contact::Contact();//联系人类的构造函数 Contact::~Contact();//联系人类的析构函数

int Contact::Create(char *n, char *p, char *c, char *r);//联系人对象的创建函数

Group::Group();//组类的构造函数 Group::~Group();//组类的析构函数

int Group::Create(char *groupname);//组类的创建函数,创建一个组

int Group::AddContact(char *n, char *p, char *c, char *r);//当前组添加一个联系人

int Group::SearchContactName(char * key);//搜索当前组指定姓名的联系人 int Group::SearchContactPhonenumber(char * key);//搜索当前组指定号码联系人

int Group::DeleteContact(int c);//删除当前组指定序号为c的联系人 void Group::HeapAdjust( int s, int m); //HeapAdjust() sub-function int Group::Order();//当前组按联系人姓名堆排序函数

int PhoneBook::order();//当前通讯录下对组进行排序

PhoneBook::PhoneBook();//通讯录构造函数,包含读文件数据的操作 PhoneBook::~PhoneBook();//通讯录析构函数,包含数据写入文件操作 int PhoneBook::AddGroup(char *groupname);//为当前通讯录添加一个组 int PhoneBook::SearchGroup(char *key);//在当前通讯录搜索指定组名 int PhoneBook::DeleteGroup(char *key);//删除当前通讯录中的指定组 int PhoneBook::SearchContactName(char * key, int &g, int &c);//在整个通讯录中搜索指定姓名的联系人,并将其组号和联系人号保存在g和c中

int PhoneBook::SearchContactPhonenumber(char * key, int &g, int &c);//在整个通讯录中搜索指定号码的联系人,并将其组号和联系人号保存在g和c中

int PhoneBook::DeleteContact(char *key);//搜索通讯录中指定联系人并删除

void CPhoneBookDlg::UpdateTree();//更新Tree Control列表 void CPhoneBookDlg::OnBnClickedButton1();//新建组按钮 void CPhoneBookDlg::OnBnClickedButton2();//新建联系人按钮

void CPhoneBookDlg::OnCbnDropdownCombo1();//下拉列表选择框动态刷新 void CPhoneBookDlg::OnBnClickedButton4();//删除联系人按钮 void CPhoneBookDlg::OnBnClickedButton5();//删除组按钮

void CPhoneBookDlg::OnTvnSelchangedTree1(NMHDR *pNMHDR, LRESULT *pResult);//单击树控件中具体联系人或组显示对应信息 void CPhoneBookDlg::OnBnClickedButton3();//保存修改 void CPhoneBookDlg::OnBnClickedButton6();//编辑按钮 void CPhoneBookDlg::OnBnClickedButton7();//按姓名查询 void CPhoneBookDlg::OnBnClickedButton8();//按电话查询 void CPhoneBookDlg::OnBnClickedButton9();//关于 void CPhoneBookDlg::OnBnClickedButton10();//帮助

void CPhoneBookDlg::OnCbnDropdownCombo2();//动态刷新下方下拉列表 void CPhoneBookDlg::OnBnClickedButton11();//移动功能 void CPhoneBookDlg::OnBnClickedButton12();//删按钮功能

3.4 主算法设计

3.5 用户界面设计

说明:中央上方为通讯录显示区,右上侧为联系人信息显示区,其余部分为功能区,整个界面紧凑而不拥挤,方便用户的操作。

4 方案实现

4.1 开发环境与工具

采用VS2013进行C++编程与MFC可视化程序设计。

4.2 程序设计关键技术

(1)对顺序表的基本操作技术; (2)折半查找技术; (3)堆排序技术;

(4)MFC可视化程序开发技术; (5)前端与后台的结合技术;

(6)联系人信息存储文件与读取文件技术;

4.3 个人设计实现(按组员分工) 4.3.1 黄红清设计实现

(1)我设计了由联系人到组、由组到通讯录的顺序表数据结构。采用顺序表原因有二:其一,用户使用手机通讯录主要是为了查找和存储联系人信息,需要进行较多的查找操作,用顺序表效率更高;其二,顺序表存储到文件与从文件读取到顺序表的操作易于设计完成,简化了文件的存取操作。 整个结构示意图:

通讯录 组一 联系人一 联 系人二 联 系人一 组二 组三 顺序表的结构实现: class Contact {

public:

Contact(); ~Contact();

int Create(char *n, char *p, char *c, char *r); char name[25];//姓名