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 menuupdate(node* head)
case 2:
case 3:
}return ok;
}//刪除子選單
status menudelete(node* head)
case 2:
case 3:
}return ok;
}//查詢子選單
status menuquery(node* head)
case 2:
case 3:
}return ok;
}//初始化
status init(node** head)
*head = new;
(*head)->next = null;
return ok;
}//尾插法
status inserttail(node* head)
node* new = (node*)malloc(sizeof(node));
if(null == new)
head->next = new;
new->next = null;
printf("請輸入新增成員姓名:\n");
scanf("%s", new->name);
printf("請輸入成員性別:\n");
scanf("%s", new->***);
printf("請輸入成員年齡:\n");
scanf("%d", &new->age);
printf("請輸入成員手機號碼:\n");
scanf("%s", new->phonenumber);
printf("新增成功!\n");
return ok;
}//按照編號刪除
status deleteindex(node* head)
for(i = 0; i < index - 1; i++)
node* temp = head->next;
head->next = head->next->next;
free(temp);
temp = null;
printf("刪除成功!\n");
return ok;
}//按照姓名刪除
status deletename(node* head)
head = head->next;
}if(count == 0)
memset(temp, 0, 20);
printf("刪除成功!\n");
return ok;
}//按照手機號碼刪除
status deletephonenumber(node* head)
head = head->next;
}if(count == 0)
memset(temp, 0, 20);
printf("刪除成功!\n");
return ok;
}//根據編號修改對應資訊
status updateindex(node* head)
for(i = 0; i < index; i++)
printf("\n");
printf("1.只修改姓名\n");
printf("\n");
printf("2.只修改性別\n");
printf("\n");
printf("3.只修改年齡\n");
printf("\n");
printf("4.只修改手機號碼\n");
printf("\n");
printf("5.修改全部資訊\n");
printf("\n");
printf("請輸入數字\n");
scanf("%d\n", &shuzi);
switch(shuzi)
case 2:
case 3:
case 4:
case 5:
default :printf("請重新輸入\n");
}return ok;
}//根據姓名修改對應資訊
status updatename(node* head)
case 2:
case 3:
case 4:
case 5:
default :printf("請重新輸入\n");
}count++;}}
if(count == 0)
memset(temp, 0, 20);
return ok;
}//根據手機號碼修改對應資訊
status updatephone(node* head)
case 2:
case 3:
case 4:
case 5:
default :printf("請重新輸入\n");
} count++;}}
if(count == 0)
memset(number, 0, 20);
return ok;
}//按編號查詢
void queryindex(node* head)
for(i = 0; i < index - 1; i++)
printf("查詢資訊:\n");
printf("姓名:%s\t", head->next->name);
printf("性別:%s\t", head->next->***);
printf("年齡:%d\t", head->next->age);
printf("手機號碼:%s\n", head->next->phonenumber);
printf("--------------------------------------");
}//按姓名查詢
void queryname(node* head)
head = head->next;
}if(count == 0)
memset(temp, 0, 20);
}//按照手機號碼查詢
void queryphonenumber(node* head)
head = head->next;
}if(count == 0)
memset(temp, 0, 20);
}//根據姓名排序
void sort(node* head)
temp = temp->next;}}
}void print(node* head)
}int length(node* head)
return count;
}
用鍊錶實現的通訊錄的功能
要求 製作乙個電子通訊錄,通過該通訊錄能存入好友 id 號 姓名 英文 手機號碼 家庭住址 公司 模組主介面 主要顯示軟體功能。1.新增好友資訊。2.列表好友資訊。包含排序功能 3.搜尋好友 4.刪除好友 新增好友 使用者輸入 1後,讓使用者輸入好友資訊。新增成功或失敗都需要提示使用者 列表好友 使...
用鍊錶實現簡單的通訊錄功能
學習了鍊錶後我用鍊錶寫了乙個簡單的通訊錄程式,主要能實現以下功能 使用鍊錶實現增加 在增加人員的過程中有乙個自動排序功能,比如按姓名排序 刪除 修改 查詢的功能 1 新增使用者資訊 號碼長度 號碼是否重複 2 列出好友資訊 按姓名排序 3 查詢好友資訊 按姓名查詢 4 刪除好友 5 退出 ifnde...
鍊錶通訊錄
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...