實現乙個通訊錄;
通訊錄可以用來儲存1000個人的資訊,每個人的資訊包括:姓名、性別、年齡、**、住址
提供方法:
新增聯絡人資訊
刪除指定聯絡人資訊
查詢指定聯絡人資訊
修改指定聯絡人資訊
顯示所有聯絡人資訊
清空所有聯絡人
以名字排序所有聯絡人*
#define _crt_secure_no_warnings
#include
#include
#include
#include
// 先建立結構體, 表示乙個聯絡人
typedef
struct person person;
#define max_person 1024
// 表示整個通訊錄, 管理著所有的聯絡人
typedef
struct addressbook addressbook;
// 實現後續的**
intmenu()
//新增聯絡人資訊
//刪除指定聯絡人資訊
//查詢指定聯絡人資訊
//修改指定聯絡人資訊
//顯示所有聯絡人資訊
//清空所有聯絡人
//以名字排序所有聯絡人
void
init
(addressbook* addressbook)
void
addperson
(addressbook* addressbook)
// 讓使用者輸入新的聯絡人的**和姓名
// 建立好乙個專門的變數把要修改的 person 結構體變數給儲存好.
// 此處不能直接使用結構體變數 person p 這種形式,
// 必須使用結構體指標.
// 我們是希望修改全域性變數中的 person 結構體.
// 而使用結構體變數的話, 相當於建立了乙個區域性變數的結構體.
// 此時的修改只是針對該區域性變數生效, 隨著函式結束, 區域性變數就被釋放了.
person* p =
&addressbook->persons[currentsize]
;printf()
;scanf
("%s"
, p->name)
;printf()
;scanf
("%s"
, p->***)
;printf()
;scanf
("%d"
,&p->age)
;printf()
;scanf
("%s"
, p->tel)
;printf()
;scanf
("%s"
, p->address)
;printf
("新增聯絡人成功!\n");
addressbook->size++;}
void
findperson
(addressbook* addressbook)
;scanf
("%s"
, name)
;for
(int i =
0; i < addressbook->size; i++)}
printf
("查詢聯絡人完成!\n");
}void
delperson
(addressbook* addressbook)
// 刪除下標為 id 的元素
// 如果 id 對應的元素就是最後乙個, 直接 size--
if(id == addressbook->size -1)
// 如果 id 對應的元素是中間元素, 把最後乙個元素給bia過來
addressbook->persons[id]
= addressbook->persons[addressbook->size -1]
;// 再刪除最後乙個元素
addressbook->size--
;printf
("刪除成功!\n");
}void
updateperson
(addressbook* addressbook)
;int j =0;
while(1
);scanf
("%s"
, name)
;for
(int i =
0; i < addressbook->size; i++)}
if(flag[0]
==-1)
break;}
while(1
)elseif(
strcmp
(addressbook->persons[i]
.name, addressbook->persons[i +1]
.name)
>0)
else
}printf
("修改聯絡人成功!\n");
sleep
(1000);
return;}
}printf
("輸入的序號有誤!\n");
}}void
printperson
(addressbook* addressbook)
printf
("共計 [%d] 條記錄\n"
, addressbook->size);}
void
clearperson
(addressbook* addressbook)
else
if(choose ==2)
else}}
typedef
void
(*func)
(addressbook*);
addressbook addressbook;
intmain()
;// 初始化通訊錄
init
(&addressbook)
;// 進入主迴圈
while(1
)if(choice ==0)
funcs[choice]
(&addressbook);}
system
("pause");
return0;
}
單鏈表通訊錄 通訊錄2 0
單鏈表通訊錄 通訊錄2.0 標頭檔案 ifndef address h define address h include include include define success 10000 define failure 10001 define true 10002 define false ...
通訊錄問題
include using namespace std include include typedef struct lnodelnode,linklist 通訊錄的建立 void createlist l linklist l,int n createlist l 通訊者結點的插入 void li...
靜態通訊錄
這個通訊錄存粹用到c的知識就可以,主要就是乙個聯絡人資訊結構體,再就是乙個結構體陣列,對結構體陣列反覆操作 進行增 刪 查 改 排序 由於是初學者還不能對中文名進行排序 清空寫等功能。在這裡我們可以盡量寫的正式一點 所以我們用contact.h頭檔案建立結構體和對函式進行宣告 conteact.c中...