動態通訊錄

2021-08-18 16:51:50 字數 3330 閱讀 1303

測試環境:vs2013

#ifndef _address_list_h_

#define _address_list_h_

#include

#include

#include

#pragma warning(disable:4996)

typedef struct

a datatype;

typedef struct addlist

addlist, *paddlist;

struct a

;void initlinkman(paddlist ps, int capacity);//對聯絡人列表初始化

void checkcapacity(paddlist ps);//對聯絡人列表空間擴容

void addlinkman(paddlist ps);//新增聯絡人

void delelinkman(paddlist ps);//刪除聯絡人

void findlinkman(paddlist ps);//查詢來聯絡人

void alterlinkman(paddlist ps);//修改聯絡人

void showlinkman(paddlist ps);//列印聯絡人資訊

void sortname(paddlist ps);

#endif

#include "address_list.h"

static void print_linkman(paddlist ps, int i)

void initlinkman(paddlist ps, int capacity)

ps->capacity = capacity;

ps->size = 0;

}void checkcapacity(paddlist ps)

ps->capacity = 2 * ps->capacity;//申請空間成功

}void addlinkman(paddlist ps)

static void menu(int num)//這裡的引數是為了區分不同函式的menu

void delelinkman(paddlist ps)

dops->size--;//刪除成功

printf("已刪除!\n");

return;}}

printf("對不起,該聯絡人不存在!\n");

}break;

case

2:

ps->size--;//刪除成功

printf("已刪除!\n");

return;}}

printf("對不起,該聯絡人不存在!\n");

}break;

case

3:

ps->size--;//刪除成功

printf("已刪除!\n");

return;}}

printf("對不起,該聯絡人不存在!\n");

}break;

case

4:

ps->size--;//刪除成功

printf("已刪除!\n");

return;}}

printf("對不起,該聯絡人不存在!\n");

}break;

case

5:

ps->size--;//刪除成功

printf("已刪除!\n");

return;}}

printf("對不起,該聯絡人不存在!\n");

}break;

default :

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

break;

}} while (input);

}void findlinkman(paddlist ps)do}

printf

("對不起,該聯絡人不存在!\n");

}break;

case 2:

}printf

("對不起,該聯絡人不存在!\n");

}break;

case 3:

}printf

("對不起,該聯絡人不存在!\n");

}break;

case 4:

}printf

("對不起,該聯絡人不存在!\n");

}break;

case 5:

}printf

("對不起,該聯絡人不存在!\n");

}break;

default:

printf

("輸入錯誤,請重新輸入\n");

break;

}} while

(input);

}void

alterlinkman

(paddlist ps)

}printf

("對不起,該聯絡人不存在!\n");

}break;

case 2:

}printf

("對不起,該聯絡人不存在!\n");

}break;

case 3:

}printf

("對不起,該聯絡人不存在!\n");

}break;

case 4:

}printf

("對不起,該聯絡人不存在!\n");

}break;

case 5:

}printf

("對不起,該聯絡人不存在!\n");

}break;

default:

printf

("輸入錯誤,請重新輸入\n");

break;

}} while

(input);

}void

showlinkman

(paddlist ps)

for(; i < ps->size; i++)

}void

sortname

(paddlist ps)

for(i = 0; i < ps->size-1; i++)}}

}

#include 

#include

#include "address_list.h"

#pragma warning(disable:4996)

static

void menu()

int main()

} while (input);

system("pause");

return

0;}

動態通訊錄

動態版通訊錄,是乙個動態增容的過程 自定義標頭檔案部分 ifndef contact h define contact h define max name 20 define max 5 define max tele 12 define max addr 100 define max 1000 d...

動態通訊錄

上次實現了靜態版本的通訊錄,雖然能夠初步滿足我們的需求,但總歸還是不夠完美,那麼下面我將次通訊錄的靜態版本改為動態版本。這就需要用到動態分配 所謂動態分配,就是需要的時候再分配,這是相對於靜態分配而言的,靜態分配就是一次分配完畢,不管你用多少。而動態分配則是按需分配。下面我們來具體實現一下唄 con...

動態通訊錄

動態通訊錄 contact.h ifndef contact h define contact h include include include include pragma warning disable 4996 enum option define max name 20 define ma...