《数据结构》课程设计报告
if(H->elem[pp]!=NULL&&eq(tele,H->elem[pp]->tel)==1){
printf(\查找成功!\\n查找过程冲突次数为%d.以下是您需要要查找的信息:\\n\\n\ printf(\
姓
名
:
%s\\n
电
话
号
码
:
%s\\n
联
系
地
址:%s\\n\}
else printf(\此人不存在,查找不成功!\\n\
benGetTime(); }
(11)录入教师的记录(初始化) void getin(Record* a){//键盘输入各人的信息
printf(\输入要添加的个数:\\n\scanf(\int i;
for(i=0;i printf(\请输入第%d个记录的用户名:\\n\ scanf(\ printf(\请输入%d个记录的电话号码:\\n\ scanf(\ printf(\请输入第%d个记录的地址:\\n\ scanf(\} } 15 《数据结构》课程设计报告 (12)显示输入的教师记录 void list(Record* a) //显示输入的用户信息 { int i; for( i=0;i printf(\第%d个用户信息:\\n 姓名:%s\\n 电话号码:%s\\n 联系地址:%s\\n\ } (13)删除指定电话号码的教师记录 void Delete(HashTable* H,int &c) { benGetTime(); NA tele; printf(\请输入要删除记录的电话号码:\\n\ m++; scanf(\ int p,pp; p=Hash2(tele); pp=p; while((H->elem[pp]!=NULL)&&(eq(tele,H->elem[pp]->tel)==-1)) pp=collision(p,c); if(H->elem[pp]!=NULL&&eq(tele,H->elem[pp]->tel)==1) { printf(\以下是您需要要删除的信息:\\n\\n\ printf(\姓名\\t电话号\\t\\t地址\\n\ printf(\ printf(\ printf(\ printf(\ (H->elem)[pp]->tel[0]='\\0'; printf(\删除成功!!!\ } else printf(\此人不存在,删除不成功!\\n\ benGetTime(); 16 《数据结构》课程设计报告 } (14)修改指定电话号码的教师记录 void Alter(HashTable* H,int &c) //在通讯录里修改某个老师信息 { benGetTime(); NA tele; printf(\请输入要修改记录的电话号码:\\n\ scanf(\ int p,pp; p=Hash2(tele); pp=p; while((H->elem[pp]!=NULL)&&(eq(tele,H->elem[pp]->tel)==-1)) pp=collision(p,c); if(H->elem[pp]!=NULL&&eq(tele,H->elem[pp]->tel)==1) { printf(\以下是您需要修改的信息:\ printf(\ printf(\姓名\\t电话号\\t\\t地址\\n\ printf(\ printf(\ printf(\ (H->elem)[pp]->tel[0]='\\0'; printf(\请输入修改后记录的用户名:\\n\ scanf(\ printf(\请输入修改后记录的电话号码:\\n\ scanf(\ printf(\请输入修改后记录的地址:\\n\ scanf(\ printf(\修改成功!!!\ } else { benGetTime(); 17 《数据结构》课程设计报告 printf(\此人不存在,修改不成功!\\n\ } } (15)主函数 int main(int argc, char* argv[]){ int c,flag=1; HashTable *H; H=(HashTable*)malloc(LEN); for(int i=0;i Record a[MAXSIZE]; key(); while (1){ printf(\ printf(\┏〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒┓*\ printf(\┃★ 欢迎进入计算机与信息工程系教师通讯查询系统★ ┃*\ printf(\┃【1】. 录入教师信息 ┃*\ printf(\┃ 【2】. 输出所有教师信息 ┃*\ printf(\┃ 【3】. 以姓名建立哈希表 ┃*\ printf(\┃ 【4】. 以电话号码建立哈希表 ┃*\ printf(\┃ 【5】. 查找并显示给定姓名的教师记录 ┃*\ printf(\┃ 【6】. 查找并显示给定电话号码的教师记录 ┃*\ printf(\┃ 【7】. 删除教师的记录 ┃*\ printf(\┃ 【8】. 修改教师的记录 ┃*\ printf(\┃ 【9】. 清屏 ┃*\ printf(\┃ 【0】. 保存 ┃*\ printf(\┃ 【10】. 退出程序 ┃*\ 18 《数据结构》课程设计报告 printf(\温馨提示: ┃*\ printf(\Ⅰ.进行5操作前请先输出3 ┃*\ printf(\┃Ⅱ.进行6操作前请先输出4 ┃*\ printf(\┗〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒┛*\ printf(\ printf(\ printf(\请输入你的操作>>>\ printf(\ int num; scanf(\ switch(num){ case 1: getin(a);break; case 2:list(a);break; case 3:CreateHash1(H,a);break;/* 以姓名建立哈希表 */ case 4:CreateHash2(H,a); break;/* 以电话号码建立哈希表 */ case 5:c=0;Search_name(H,c); break; case 6:c=0;Search_phonenumber(H,c); break; case 7:c=0;Delete(H,c);break; case 8:c=0;Alter(H,c);break; case 9:Cls(a);break; case 0:Save();break; case 10: return 0;break; default:printf(\你输错了,请重新输入!\ printf(\ } } system(\return 0; } 19