用鍊錶實現的通訊錄的功能

2021-08-04 10:02:08 字數 3376 閱讀 4087

要求:製作乙個電子通訊錄,通過該通訊錄能存入好友 id 號、 姓名) (英文)、 手機號碼、家庭住址、公司**

模組主介面:主要顯示軟體功能。

1. 新增好友資訊。

2. 列表好友資訊。(包含排序功能)

3. 搜尋好友

4. 刪除好友

  新增好友:

使用者輸入 1後,讓使用者輸入好友資訊。新增成功或失敗都需要提示使用者

  列表好友:

使用者輸入 2後,好友資訊公升序排列。

  搜尋好友:

使用者輸入 3後,讓使用者輸入將要搜尋好友姓名查詢。如果未搜尋到請友好提示。如果搜尋到,顯示出該好友資訊。

  刪除好友:

使用者輸入 4後,讓用輸入將要刪除好友姓名刪除,如果存在同名的多個好友,則列表出,所有同名的好友資訊,讓使用者通過輸入 id 號刪除。提示使用者刪除成功。

#ifndef __linklist_h__

#define __linklist_h__

#define true   1

#define false -1

#define size  50

typedef struct _people

linkdata;

typedef struct _node

node;

int quit();

int sort_list(node *h);

void choice(node *h);

void search(node *h);

void add(node *h);

void delete(node *h);

node *find_element2(node *h, linkdata d, int *x);

int delete_id(node *h, int d);

int find_nelement(node *h, linkdata d);

void display_pos(node *h, int x);

int fun(int x, node *h);

void maininte***ce();

int init(node *h);

node *create_list();

void display_list(node *h);

int insert_last(node *h, linkdata data);

int insert_head(node *h,linkdata data);

int insert_pos(node *h, int pos, linkdata data);

int delete_pos(node *h, int pos);

int delete_data(node *h, linkdata data);

int find_element(node *h, linkdata d, int *x);

int get_element(node *h, int pos, linkdata *x);

int reverse_list(node *h);

int get_len(node *h);

int clean_list(node *h);

int destroy(node *h);

#endif

#include "linklist.h"

#include

#include

node *create_list()

int fun(int x,node *h)

return true;

}int sort_list(node *h)

else}}

return true;

}int init(node *h)

;linkdata p2 = ;

linkdata p3 = ;

linkdata p4 = ;

linkdata p5 = ;

insert_last(h,p1);

insert_last(h,p2);

insert_last(h,p3);

insert_last(h,p4);

insert_last(h,p5);

return true;

}system("clear");

int i,j,k;

for(i=0; i<10; i++)

for(i=0; i<50; i++)

printf("\n");

for(j=0; j<11; j++)

else if(j==3)

else if(j==5)

else if(j==7)

else if(j==9)

else

for(i=0; i<56; i++)

}printf("\n");

}for(i=0; i<10; i++)

for(i=0; i<57; i++)

printf("\n");

printf("  \t請輸入指令:\n");

return;

}int find_element(node *h, linkdata d, int *x)

if(tmp == null)

else

}node *find_element2(node *h, linkdata d, int *x)

if(tmp == null)

else

}int find_nelement(node *h, linkdata d)

return count;

}int delete_pos(node *h, int pos)

if(tmp->next == null)

node *p = tmp->next;

tmp->next = p->next;

free(p);

return true;

}int delete_id(node *h, int d)}}

return;

}void delete(node *h)

else

printf("\t請輸入id: \n");

scanf("%d",&id);

if(delete_id(h,id) == true)

printf("\t刪除成功\n");}}

return;

}int get_len(node *h)

return count;

}int quit()

#include "linklist.h"

#include

int main()

init(head);

maininte***ce();

while(1)

return 0;

}

用鍊錶實現簡單的通訊錄功能

學習了鍊錶後我用鍊錶寫了乙個簡單的通訊錄程式,主要能實現以下功能 使用鍊錶實現增加 在增加人員的過程中有乙個自動排序功能,比如按姓名排序 刪除 修改 查詢的功能 1 新增使用者資訊 號碼長度 號碼是否重複 2 列出好友資訊 按姓名排序 3 查詢好友資訊 按姓名查詢 4 刪除好友 5 退出 ifnde...

鍊錶實現功能強大的通訊錄

menu head sort head print head return 0 主選單 status menu node head case 2 case 3 case 4 case 5 default printf 請重新輸入正確的操作指令 n return ok 修改方式選單 status me...

鍊錶通訊錄

include include include define password 208140119 define name max 20 define gender max 10 define str max 20 define tel max 20 鍊錶結構 struct address type...