動態通訊錄

2021-08-20 12:40:17 字數 2627 閱讀 3658

動態通訊錄

contact.h

# ifndef __contact_h__

# define __contact_h__

#include

#include

#include

#include

#pragma warning (disable:4996)

enum option

;#define max_name 20

#define max_*** 5

#define max_tele 12

#define max_addr 50

//#define max 1000

#define default_sz 3

typedef struct peoinfo

peoinfo;

typedef int int;

typedef int * pint;

struct contact

;typedef struct contact contact;

typedef struct contact * pcontact;

void initcontact(pcontact pc);

void addcontact(pcontact pc);

void delcontact(pcontact pc);

void searchcontact(pcontact pc);

void modifycontact(pcontact pc);

void showcontact(pcontact pc);

void emptycontact(pcontact pc);

void sortcontact(pcontact pc);

void destorycontact(pcontact pc);

#endif __contact_h__

main.c

#define _crt_secure_no_warnings 1

#include"contact.h"

void menu()

int main()

} while (input);

system("pause");

return

0;}

contact.c

#define _crt_secure_no_warnings 1

#include "contact.h"

void

initcontact(pcontact pc)

int find(pcontact pc, char *pcname)//對於乙個聯絡人是否封裝在函式中,對於後面的修改,刪除,查詢可以用到

}return -1;

}void menu1()//修改聯絡人時用到的選單

void

check_capacity(pcontact pc)

pc->capacity += 2;

printf("增容成功\n");

}}void

addcontact(pcontact pc)//新增聯絡人

void

delcontact(pcontact pc)//刪除聯絡人

; int ret = 0;

int k = 0;

int i = 0;

printf("請輸入要刪除人的姓名:> ");

scanf("%s", &name);

ret = find(pc, name);

if (ret != -1)

pc->count--;

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

}else

}else

}void

searchcontact(pcontact pc)//查詢聯絡人

; int ret = 0;

scanf("%s", &name);

ret = find(pc, name);

if (ret != -1)

else

}void

modifycontact(pcontact pc)//修改聯絡人

; int ret = 0;

scanf("%s", &name);

ret = find(pc, name);

if (ret != -1)

} while (i);

}else

}void

showcontact(pcontact pc)//列印所有聯絡人資訊

printf("%10s|%6s|%6s|%9s|%10s|\n", "名字", "年齡", "性別", "**", "位址");

for (i = 0; i < pc->count; i++)

printf("----------------\n");

}void

emptycontact(pcontact pc)//清空聯絡人

void

sortcontact(pcontact pc)//以名字排序所有人

}}void

destorycontact(pcontact pc)

動態通訊錄

動態版通訊錄,是乙個動態增容的過程 自定義標頭檔案部分 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...

動態通訊錄

測試環境 vs2013 ifndef address list h define address list h include include include pragma warning disable 4996 typedef struct a datatype typedef struct a...