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

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

MessageBox(\使用帮助:\\n1.第一次使用时,请先新建一个组;\\n2.新建联系人时,须先选择分组;\\n3.重名联系人请在姓名加以区分,如:张三1、张三2;\\n如有其他问题,请Email:hhq1242400012@163.com;\}

void CPhoneBookDlg::OnEnChangeEdit16() {

// TODO: 如果该控件是 RICHEDIT 控件,它将不

// 发送此通知,除非重写 CDialogEx::OnInitDialog() // 函数并调用 CRichEditCtrl().SetEventMask(), // 同时将 ENM_CHANGE 标志“或”运算到掩码中。

// TODO: 在此添加控件通知处理程序代码 }

void CPhoneBookDlg::OnCbnDropdownCombo2() {

// TODO: 在此添加控件通知处理程序代码 Combo2.ResetContent();

for (int i = 0; i < phonebook.numberofgroup; i++)

Combo2.InsertString(i, phonebook.group[i + 1].name); }

void CPhoneBookDlg::OnBnClickedButton11() {

// TODO: 在此添加控件通知处理程序代码 char key[25]; int g, c;

CEdit_move.GetWindowTextA(key, 25); if (key[0] != '\\0')

if (Combo2.GetCurSel() + 1 != 0) {

if (phonebook.SearchContactName(key,g,c)) {

if (phonebook.group[Combo2.GetCurSel() + 1].AddContact(key,

phonebook.group[g].contact[c].phonenumber, phonebook.group[g].contact[c].city, phonebook.group[g].contact[c].remark)) {

phonebook.group[g].DeleteContact(c);

phonebook.group[Combo2.GetCurSel() + 1].Order(); UpdateTree();

MessageBox(\移动成功!\ } else

MessageBox(\目标组已满!\ } else

MessageBox(\没有找到该联系人!\ } else

MessageBox(\请选择移动到的分组!\ else

MessageBox(\请输入要移动的联系人!\}

void CPhoneBookDlg::OnBnClickedButton12() {

// TODO: 在此添加控件通知处理程序代码 char key[25];

CEdit_sn.GetWindowTextA(key, 25); if (phonebook.DeleteContact(key)) {

MessageBox(\删除成功!\ UpdateTree(); } else

MessageBox(\删除失败!\ Ctree.SelectItem(NULL);

CEdit_edit0.EnableWindow(0); }

4.3.2 邢伟的设计实现

我设计了查找和排序功能,以及文件的操作功能,实现如下:

void Group::HeapAdjust( int s, int m) //HeapAdjust() sub-function {

int j;

Contact temp;

temp = contact[s];

for (j = 2 * s; j <= m; j *= 2) {

if (j

if (!(strcmp(temp.name,contact[j].name)<0)) break;

contact[s] = contact[j]; s = j; }

contact[s] = temp; } //HeapAdjust() end

int Group::Order() {

int i;

Contact temp;

for (i = numberofmenber / 2; i>0; --i) HeapAdjust( i, numberofmenber); for (i = numberofmenber; i>1; --i) {

temp = contact[1];

contact[1] = contact[i]; contact[i] = temp; HeapAdjust( 1, i - 1); }

return 1; }

int PhoneBook::order() {

int i, j;

for (i = 2; i <= numberofgroup; ++i)

if (strcmp(group[i].name,group[i-1].name) <0) {

group[0] = group[i];

for (j = i - 1;strcmp(group[0].name,group[j].name)<0 ; --j) group[j + 1] = group[j]; group[j + 1] = group[0]; }

return 1; }

int PhoneBook::SearchGroup(char *key) {

int mid, low = 1, high = numberofgroup; while (low <= high) {

mid = (low + high) / 2;

if (strcmp(key, group[mid].name) == 0) {

return mid; }

else if (strcmp(key, group[mid].name)<0) high = mid - 1; else

low = mid + 1; }

return 0; }

int PhoneBook::SearchContactName(char * key, int &g, int &c) {

for (g = 1; g <= numberofgroup; g++)

if ((c = group[g].SearchContactName(key)) != 0) {

return 1; break;