通訊錄創作

2021-10-12 05:50:12 字數 3194 閱讀 2597

實現乙個通訊錄;

通訊錄可以用來儲存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中...