動態版通訊錄,是乙個動態增容的過程
自定義標頭檔案部分:
#ifndef __contact_h__
#define __contact_h__
#define max_name 20
#define max_*** 5
#define max_tele 12
#define max_addr 100
#define max 1000
#define capacity 2 //通訊錄規定容量
#define promote 2 //需要擴大的容量
typedef struct peoinfo//定義結構體包括名字 年齡 性別 ** 位址
peoinof;
typedef struct con
con, *pcon;
enum input
;void init(pcon con);
void add(pcon con);
void delete(pcon con);
void search(pcon con);
void modify(pcon con);
void show(pcon con);
void empty(pcon con);
void sort(pcon con);
#endif
函式實現部分:
#define _crt_secure_no_warnings 1
#include
#include
#include
#include "contact.h"
void checkcapacity(pcon con)
else
con->capacity += promote;//開闢之後容量變為自身容量與開闢容量的和
}}void init(pcon con)//初始化通訊錄
int find_peo(pcon con, char *name)
else
}return -1;
}void add(pcon con)//新增聯絡人
void
delete(pcon con)//刪除指定聯絡人
else
;printf("請輸入要刪除人的姓名:");
scanf("%s", name);
ret = find_peo(con, name);
if (ret != -1)
con->sz--;
printf("刪除成功!\n");
}else
}}void search(pcon con)//查詢指定聯絡人
; printf("請輸入要查詢的人的姓名:");
scanf("%s", name);
ret = find_peo(con, name);
if (ret != -1)
else
}void modify(pcon con)//修改指定聯絡人
; printf("請輸入要修改的人的姓名:");
scanf("%s", name);
ret = find_peo(con, name);
if (ret != -1)
else
}void show(pcon con)//顯示聯絡人
}void empty(pcon con)//清空通訊錄
void sort(pcon con)//排序
else}}
printf("排序完成!\n");
}}
主函式測試部分:
#define _crt_secure_no_warnings 1
#include
#include
#include "contact.h"
void menu()
int main()
}system("pause");
return
0;}
動態通訊錄
上次實現了靜態版本的通訊錄,雖然能夠初步滿足我們的需求,但總歸還是不夠完美,那麼下面我將次通訊錄的靜態版本改為動態版本。這就需要用到動態分配 所謂動態分配,就是需要的時候再分配,這是相對於靜態分配而言的,靜態分配就是一次分配完畢,不管你用多少。而動態分配則是按需分配。下面我們來具體實現一下唄 con...
動態通訊錄
測試環境 vs2013 ifndef address list h define address list h include include include pragma warning disable 4996 typedef struct a datatype typedef struct a...
動態通訊錄
動態通訊錄 contact.h ifndef contact h define contact h include include include include pragma warning disable 4996 enum option define max name 20 define ma...