資源簡介
這是一個關(guān)于通訊錄基本功能的簡單程序希望對大家有用
代碼片段和文件信息
#include
#include
#include
using?namespace?std;
#define?MAXSIZE?100???//數(shù)組元素最大個數(shù)
class?Txl
{
public:
Txl():telephone(“0“)addre(“0“)
{??????????memset(name020);??????}?????//構(gòu)造函數(shù)(初始化變量)
~Txl()??????????????????????????????//析構(gòu)函數(shù)
{??????????????????????????????????}
????Txl*?Create();??????????????????????//創(chuàng)建數(shù)組
void?ShowInformation(Txl?Array1[MAXSIZE]);//顯示輸入的用戶信息
Txl*?HashTel1(Txl?Array1[MAXSIZE]);//以電話號碼建立哈希表(再哈希法解決沖突)
void?HashTel2(Txl?Array1[MAXSIZE]);???????//再哈希法解決沖突
bool?HashSearch1(Txl?array1[40]);???//查找并顯示給定電話號碼的記錄?
bool?HashSearch2(Txl?array2[40]);???//查找并顯示給定姓名的記錄?
void?Save(Txl?Array1[MAXSIZE]);?????//保存用戶信息?
protected:
char?name[20];????????????//姓名
string?telephone;????????//電話號
string?addre;???????????//地址
};
Txl?array[MAXSIZE];??//定義一個類類型的全局?jǐn)?shù)組
Txl?Array2[130];????//定義一個類類型的全局?jǐn)?shù)組
unsigned??int?Num;??????//總的用戶個數(shù)
int?tu;????????????????//沖突發(fā)生的地點(diǎn)(下標(biāo))
void?main()
{
int?i=1t=1;
Txl?object*Array1*array1*array2;??//定義一個對象和三個指針
????????? ??
while(i){
????????????????????????????????????????//創(chuàng)建數(shù)組
???????????????????
cout<<“??????????????????【1】.請輸入需要添加到通訊錄的人數(shù)??????????????????“< cout<<“??????????????????【2】.以電話號碼為關(guān)鍵字建立哈西表??????????????????“< cout<<“??????????????????【3】.查找并顯示給定電話號碼的記錄??????????????????“< cout<<“??????????????????【4】.顯示輸入的用戶信息????????????????????????????“< cout<<“??????????????????【5】.保存用戶信息??????????????????????????????????“< cout<<“??????????????????【6】.退出系統(tǒng) ?? ? ?“< ????????cout<<“請輸入你所要解決的問題序號>>>“< cin>>i;
switch(i)?????//轉(zhuǎn)化為整型?
{
case?1:
if(t)
{
Array1=object.Create();?
t=0;
}
else
?????????????object.Create();
break;
????????case?2:
array1=object.HashTel1(Array1);?//以電話號碼建立哈希表(再哈希法解決沖突)
break;
case?3:
object.HashSearch1(array1);?????//查找(以電話號碼為關(guān)鍵字)
break;?
case?4:
object.ShowInformation(Array1);?//顯示輸入的用戶信息
break;
case?5:
object.Save(Array1);????????????//保存用戶信息?
break;
case?6:i=0;break;
default:
cout<<“你輸錯了,請重新輸入!“< }
}
}
Txl*?Txl::Create()????????
{
loop:
string?pnum;
????cout<<“請輸入需要添加到通訊錄的人數(shù):“< cin>>pnum;
Num=atoi(pnum.c_str());??????//強(qiáng)制轉(zhuǎn)化為整型,防止輸入一些不當(dāng)數(shù)據(jù)導(dǎo)致系統(tǒng)崩潰
if(Num>MAXSIZE||Num<=0)
cout<<“輸入值無效!“< ????for(int?i=0;i {
cout<<“請輸入第“< cin>>array[i].name>>array[i].telephone>>array[i].addre;
if?(atoi(array[i].telephone.c_str())==0)?
{
cout<<“電話號碼輸入有誤,請重新輸入!>>>“< goto?loop;
}
if?(atoi(array[i].name)!=0)?{
cout<<“姓名輸入有誤,請重新輸入!>>>“<
- 上一篇:C2B轉(zhuǎn)換助手
- 下一篇:單鏈表的并集與交集C語言
評論
共有 條評論