#include
#include
#include
#define password 208140119
#define name_max 20
#define gender_max 10
#define str_max 20
#define tel_max 20
//鍊錶結構
struct address;
typedef struct address data;
typedef struct address * data;
void create_link(data *head); //建立鍊錶
void create_newnode(data *newnode); //建立新的節點
void is_malloc_ok(data *newnode); //判斷動態分配儲存空間是否成功
//void address(data *head); //對通訊錄操作的函式
void menu_password(data *head); //登入介面
void quit(); //退出通訊錄
void menu(data *head); //進入操作介面
void add(data *head); //新增資訊
void quit_real(); //真實退出
void display_all(data *head); //顯示全部資訊
void find(data *head); //查詢資訊介面
void find_count(data *head); //按學號查詢
void find_name(data *head); //按姓名查詢
void find_tel(data *head); //按**號碼查詢
void find_str(data *head); //按地區查詢
void delete(data *head); //刪除資訊介面
void del_count(data *head); //按學號刪除
void del_name(data *head); //按姓名刪除
void del_tel(data *head); //按**號碼刪除
void del_str(data *head); //按地區刪除
void del(data temp,data *head); //確認刪除資訊介面
void revise(data *head); //修改資訊介面
void rev(data temp,data *head); //確認修改資訊介面
void rev_sel(data temp,data *head); //修改資訊
void rev_count(data *head);
void rev_name(data *head);
void rev_tel(data *head);
void rev_strict(data *head);
int main()
//建立鍊錶
void create_link(data *head)
//建立新的節點
void create_newnode(data *newnode)
//判斷動態分配儲存空間是否成功
void is_malloc_ok(data *newnode)}
//登入介面
void menu_password(data *head)
else
}else if(select == 2)
else }
//退出介面
void quit(data *head)
else if(flag == 2)
else}
//真實退出
void quit_real()
//操作介面
void menu(data *head)
;break;
}return;}
//新增使用者資訊
void add(data *head)
if(temp->next == *head) //鍊錶不為空,只有乙個節點
else
printf("資訊錄入成功!\n");
menu(head);
return;
}else
if(temp == (*head)->next) //遇到第乙個節點就退出迴圈,即新節點為當前鍊錶最小
else
else
}else //對於不到尾節點的新節點作處理
}printf("資訊錄入成功!\n");
menu(head);
return;}}
//顯示所有使用者資訊
void display_all(data *head)
else
printf("成功顯示!\n");
find(head);
return;}}
//查詢使用者資訊
void find(data *head)
;break;
}return;}
//學號查詢使用者資訊
void find_count(data *head)
else
if(temp == (*head))
else}}
//姓名查詢使用者資訊
void find_name(data *head)
else
if(temp == (*head))
else}}
//**號碼查詢使用者資訊
void find_tel(data *head)
else
if(temp == (*head))
else}}
//地區查詢使用者資訊
void find_str(data *head)
else
if(temp == (*head))
else}}
//刪除使用者資訊
void delete(data *head)
;break;
}return;}
//學號刪除使用者資訊
void del_count(data *head)
else
if(temp == (*head))
else}}
//刪除資訊介面
void del(data temp,data *head)
;break;
case 2 :;break;
default :;break;
}return;}
//姓名刪除使用者資訊
void del_name(data *head)
else
if(temp == (*head))
else}}
//**號碼刪除使用者資訊
void del_tel(data *head)
else
if(temp == (*head))
else}}
//地區刪除使用者資訊
void del_str(data *head)
else
if(temp == (*head))
else}}
//修改使用者資訊
void revise(data *head)
;break; }
}//學號查詢修改使用者資訊
void rev_count(data *head)
else
if(temp == (*head))
else}}
//修改使用者資訊
void rev(data temp,data *head)
;break;
case 2 :;break;
default :;break;
}return; }
//選擇修改什麼選項
void rev_sel(data temp,data *head)
;break;
case 2 :;break;
case 3 :;break;
case 4 :;break;
case 5 :;break;
case 6 :;break;
case 7 :;break;
default :;break;
}return; }
//姓名查詢修改使用者資訊
void rev_name(data *head)
else
if(temp == (*head))
else}}
//**號碼查詢修改使用者資訊
void rev_tel(data *head)
else
if(temp == (*head))
else}}
//地區查詢修改使用者資訊
void rev_strict(data *head)
else
if(temp == (*head))
else}}
鍊錶通訊錄
include include include include include struct addressbook typedef struct addressbook addressbook typedef struct addressbook link int main menu void a...
鍊錶寫的通訊錄
include include include include struct node typedef struct node node typedef struct node link void create link head void insert link head,link new nod...
利用鍊錶實現通訊錄
用鍊錶實現乙個 可以用來儲存資訊的通訊錄,每個人的資訊包括 姓名 性別 年齡 住址 程式如下 include include include define len sizeof struct student struct student void menu 目錄格式 struct student c...