動態通訊錄
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...