單鏈表通訊錄 通訊錄2 0

2021-08-25 02:40:58 字數 3962 閱讀 1989

單鏈表通訊錄 —— 通訊錄2.0

// 標頭檔案

#ifndef _address_h

#define _address_h

#include #include #include #define success 10000

#define failure 10001

#define true 10002

#define false 10003

struct address

;typedef struct address l;

void menu(); // 顯示介面

int init(l **l); // 初始化鍊錶

int namesort(l *l); // 以名字排序

int agesort(l *l); // 以年齡排序

int insert(l *l); // 1、新增聯絡人

int show(l *l); // 2、顯示所有聯絡人資訊

int delet(l *l); // 3、刪除聯絡人資訊

int mod(l *l); // 4、修改聯絡人資訊

int find(l *l); // 5、查詢聯絡人

#endif

// 主函式檔案

#include "address.h"

int main()

while(1)

else

break;

case '2':

ret = show(l); // 顯示所有聯絡人資訊

if(failure == ret)

else if(false == ret)

break;

case '3':

ret = delet(l);

if(failure == ret)

else if(true == ret) // 找不到

else if(ret == false) // 沒有

else

break;

case '4':

ret = mod(l);

if(failure == ret)

else if(ret == false) // 空的時候

else if(ret == true) // 找不到

else // 找到

break;

case '5':

ret = find(l);

if(failure == ret)

else if(ret == false) // 沒有

else if(true == ret) // 找不到

else

break;

case '6':

break;

default :

printf("輸入有誤,請重新輸入!\n");

break;

} if(ch == '6')

}} return 0;

}

// 功能函式檔案

#include "address.h"

void menu() //顯示通訊錄介面,方便進行功能選擇

int init( l **l) // 初始化鍊錶

(*l)->next = null;

return success;

}int namesort(l *l) // 以名字排序

h = l;

p = h->next;

p1 = p->next;

while(p1 != null)

}if(flag)

} return success;

}int agesort(l *l) // 以年齡排序

h = l;

p = h->next;

p1 = p->next;

while(p1 != null)

}if(flag)

} return success;

} int insert(l *l) // 1、新增聯絡人資訊

while (p->next != null) // 移動到最後

l *q;

printf("新增聯絡人,輸入'bye'時,結束新增聯絡人\n");

printf("請輸入姓名:");

scanf(" %s",nam);

while(strcmp(nam,"bye") != 0)

strcpy(q->name,nam);

//printf("\n");

printf("請輸入性別:");

scanf(" %s",q->***);

//printf("\n");

printf("請輸入年齡:");

scanf(" %d",&q->age);

//printf("\n");

scanf(" %s",q->tel);

//printf("\n");

scanf(" %s",q->addre);

printf("\n");

q->next = p->next;

p->next = q;

p = q;

while(1)

}break;

}else if(ch == 'n')

else

} }return success;

}int show(l *l) // 2、顯示所有聯絡人資訊

if(l->next == null) // 空鍊錶

if(p->next->next == null ) // 只有乙個聯絡人的時候

while(1)

break;

} else if(2 == n)

break;

} else // 預設

}p = p->next;

printf("聯絡人資訊如下:\n");

printf("姓名 性別 年齡 ** 位址\n");

while(p != null)

return success;

} int delet(l *l) // 3、刪除聯絡人資訊

if(null == l->next) // 空鍊錶

p = l;

scanf("%s",nam);

printf("\n");

while(p->next != null)

free(q);

}break;

} p = p->next;

} if(p->next == null && k == 1) // 沒有找到

return success;

}int mod(l *l) // 4、修改聯絡人資訊

if(null == l->next) // 空鍊錶

scanf("%s",nam);

printf("\n");

while(p != null)

break;

} p = p->next;

} if(p == null)

return success;

}int find(l *l) // 5、查詢聯絡人

if(null == l->next) // 空鍊錶

scanf("%s",nam);

printf("\n");

while(p != null)

p = p->next;

} if(p == null)

return success;

}

單鏈表實現通訊錄

main.c include include addresslist.h int main addresslist.c include include addresslist.h include int g id 10000 list createlist ls head next null 空鍊錶...

單鏈表寫通訊錄

單鏈表實現通訊錄,增加,刪除,更改乙個聯絡人等功能。其中增加了乙個記憶體池功能,用於對廢棄記憶體的 和利用。include include include define max 1024 void addperson struct presonlist node 新增乙個聯絡人 void displ...

通訊錄問題

include using namespace std include include typedef struct lnodelnode,linklist 通訊錄的建立 void createlist l linklist l,int n createlist l 通訊者結點的插入 void li...