数据结构课程设计通讯录查询系统实验报告及源代码 联系客服

发布时间 : 星期一 文章数据结构课程设计通讯录查询系统实验报告及源代码更新完毕开始阅读18940f29a4e9856a561252d380eb6294dd8822e8

写文件:

创建文件通讯录.txt 并且将联系人存入 如图:

5. 附录 3.cpp

#include #include #include #include #include using namespace std; int d[50];/*再散列*/ struct list {

char a[12]; char name[15]; char add[15]; int f=0;

8

};

structsqstack {

struct list *base; inti; };

structsqstack S;

void store(char *a,char *name,char *add) {

int key;

key=int(a[0])+int(a[3])+int(a[7]);/*以电话号码的第1,4,8位作为关键字构造哈希函数*/

S.i=key ; int j=1; while(true) {

if((S.base+S.i)->f==0) {

strcpy((S.base+S.i)->a,a);

strcpy((S.base+S.i)->name,name); strcpy((S.base+S.i)->add,add); (S.base+S.i)->f=1; break; }

S.i=(key +d[j]) ; j++;

} }

voidshuru() {

void interface();

cout<<\请输入:\\n例如:\\n15556931615\\n小王\\n安徽省合肥市\\n输入0结束\\n\

char a[12]; char name[15]; char add[15]; while(true) {

scanf(\

9

if(a[0]=='0') break;

scanf(\scanf(\

printf(\已保存\\n\

store(a,name,add);/*将输入保存到哈希表*/

}

interface(); }

void print() {

void interface(); inti;

printf(\姓名 电话号码 地址\\n\for(i=0;i<20;i++) {

if((S.base+i)->f==1) {

printf(\d);

} }

interface(); }

voidseach() {

void interface(); inti; intff=0; int b;

char a[15];

printf(\输入1按电话号码查找,输入2按姓名查找,输入3按地址查找\\n\

scanf(\switch(b) {

case 1:printf(\请输入电话号码\\n\scanf(\for(i=0;i<20;i++)

if(strcmp(a,(S.base+i)->a)==0) {

printf(\

10

d);

ff=1;

} if(ff==0)

printf(\找不到该用户\\n\break;

case 2:printf(\请输入姓名\\n\scanf(\for(i=0;i<20;i++)

if(strcmp(a,(S.base+i)->name)==0) {

printf(\d);

ff=1;

} if(ff==0)

printf(\找不到该用户\\n\break;

case 3:printf(\请输入地址\\n\scanf(\for(i=0;i<20;i++)

if(strcmp(a,(S.base+i)->add)==0) {

printf(\d);

ff=1;

} if(ff==0)

printf(\找不到该用户\\n\break; }

interface(); }

void del() {

void interface(); inti; intff=0; int b;

char a[15];

printf(\输入1按电话号码删除,输入2按姓名删除,输入3按地址删除\\n\

scanf(\switch(b)

11