-
大小: 164KB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2021-05-27
- 語(yǔ)言: C/C++
- 標(biāo)簽: 數(shù)據(jù)結(jié)構(gòu)??課程設(shè)計(jì)??單鏈表??
資源簡(jiǎn)介
用C++編的用的是用單鏈表結(jié)構(gòu)做的通訊錄管理 課程設(shè)計(jì),內(nèi)附課程設(shè)計(jì)的實(shí)驗(yàn)報(bào)告!

代碼片段和文件信息
#include
#include
#include
#include
typedef?struct?Node?//定義?數(shù)據(jù)結(jié)構(gòu)
{
????char?name[20];//姓名
????char?sex[4];??//性別
char?tel[20];//電話號(hào)碼
char?qq[13];???//qq號(hào)碼
char?ad[100];//地址
????Node?*next;//存放后繼元素的地址
}LNode*linkList;
linkList?Creat_linkList()
{//創(chuàng)建空單鏈表,入口參數(shù)無(wú)
linkList?H;
H=new?LNode;
if(H)//確認(rèn)創(chuàng)建頭結(jié)點(diǎn)創(chuàng)建是否成功,若成功,修改單鏈表頭結(jié)點(diǎn)的指針域?yàn)?表空表
{
H->next=NULL;
}
return?H;
}
//插入通訊錄
void?Insert_linkList(linkList?H)
{
linkList?p;
p=new?LNode;
if(!p)
{
cout<<“不能插入!“< }
cout<<“請(qǐng)輸入你要插入的聯(lián)系人信息:“< cout<<“姓名:“< cin>>p->name;
cout<<“性別:“< cin>>p->sex;
cout<<“手機(jī)號(hào)碼:“< cin>>p->tel;
cout<<“QQ號(hào)碼:“< cin>>p->qq;
cout<<“地址:“< cin>>p->ad;
p->next=H->next;
H->next=p;
cout<<“插入成功“< }
//查詢通訊錄
void?Locate_linkList(linkList?H)
{
int?x;
linkList?p=H->next;
cout<<“你要通過哪種方式查詢?“< cout<<“1.通過聯(lián)系人姓名查詢“< cout<<“2.通過聯(lián)系人手機(jī)號(hào)碼查詢“< cout<<“3.通過聯(lián)系人QQ號(hào)碼查詢“< cin>>x;
char?str[30];
if(x==1)
{
cout<<“請(qǐng)輸入你要查詢的聯(lián)系人的姓名:“;
cin>>str;
while(p?&&?strcmp(p->namestr)!=0)
{
p=p->next;
}
}
if(x==2)
{
cout<<“請(qǐng)輸入你要查詢的聯(lián)系人的手機(jī)號(hào)碼:“;
cin>>str;
while(p&&strcmp(p->telstr)!=0)
{
p=p->next;
}
}
if(x==3)
{
cout<<“請(qǐng)輸入你要查詢的聯(lián)系人的QQ號(hào)碼:“;
cin>>str;
while(p&&strcmp(p->qqstr)!=0)
{
p=p->next;
}
}
if(p==NULL)
{
cout<<“沒有找到你要查找的聯(lián)系人的信息!“< }
else
{
cout<<“你要找的聯(lián)系人的信息為:“< cout<<“姓名:“<name< cout<<“性別:“<sex< cout<<“手機(jī)號(hào):“<tel< cout<<“QQ號(hào)碼:“<qq< cout<<“地址:“<ad< }
}
//刪除聯(lián)系人
void?Delete_linkList(linkList?H)
{
if(H->next==NULL)
{
cout<<“通訊錄為空,不能刪除“< }
else
{
int?x;
char?str[30];
linkList?pq;
p=H->next;
cout<<“請(qǐng)輸入你要?jiǎng)h除的方式:“< cout<<“1.按照聯(lián)系人的姓名刪除“< cout<<“2.按照聯(lián)系人的手機(jī)號(hào)碼刪除“< cout<<“3.按照聯(lián)系人的QQ號(hào)碼刪除“< cin>>x;
q=H;
if(x==1)
{
cout<<“請(qǐng)輸入你要?jiǎng)h除的聯(lián)系人的姓名:“< cin>>str;
while(strcmp(p->namestr)!=0)
{
q=p;
p=p->next;
}
}
if(x==2)
{
cout<<“請(qǐng)輸入你要?jiǎng)h除的聯(lián)系人的手機(jī)號(hào)碼:“< cin>>str;
while(strcmp(p->telstr)!=0)
{
q=p;
p=p->next;
}
}
if(x==3)
{
cout<<“請(qǐng)輸入你要?jiǎng)h除的聯(lián)系人的QQ號(hào)碼:“< cin>>str;
while(strcmp(p->qqstr)!=0)
{
q=p;
p=p->next;
}
}
if(p==NULL)
{
cout<<“沒有你要?jiǎng)h除的聯(lián)系人的記錄“< }
else
{
q->next=p->next;
p->next=NULL;
free(p);
cout<<“該聯(lián)系人已刪除“< }
}
}
//輸出所有聯(lián)系人
void?print_linkList(linkList?H)
{
if(H->next==NULL)
{
cout<<“通訊錄為空“< }
else
{
linkList?p;
p=H->next;
while(p!=NULL)
{
cout<<“性別:“<sex< cout<<“手機(jī)號(hào):“<tel< cout<<“QQ號(hào)碼:“<qq< cout<<“地址:“<ad< p=p->next;
}
}
}
//主函數(shù)
void?main()
{
int?a;
linkList?List;
List=Creat_linkList();
do
{
cout<<“*****歡迎進(jìn)入通訊錄管
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????1888256??2009-07-06?11:27??通訊錄管理?數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)C++單鏈表版\2008-2009學(xué)年《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì).doc
?????文件???????3987??2009-07-07?18:03??通訊錄管理?數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)C++單鏈表版\通訊錄管理.cpp
?????目錄??????????0??2009-07-07?18:05??通訊錄管理?數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)C++單鏈表版
-----------?---------??----------?-----??----
??????????????1892243????????????????????3
評(píng)論
共有 條評(píng)論