動態版本通訊錄

2021-08-20 09:44:51 字數 2195 閱讀 7617

1.contact.h

//#pragma once

#ifndef _contact_h_

#define _contact_h_

#include #include #pragma warning (disable:4996)

#define max_name 10

#define max_*** 5

#define max_tele 20

#define max_addr 30

#define con_start 2//初始通訊錄大小  

#define inc_count 10   //每次增容大小  

typedef struct peoinfo peo;

typedef struct contact con, *pcon;

/*介面函式*/

void initcontact(pcon pcon);//初始化通訊錄

void add(pcon pcon);

void dele(pcon pcon);

void search(pcon pcon);

void modify(pcon pcon);

void show(pcon pcon);

void empty(pcon pcon);

void sort(pcon pcon);

#endif

2.contact.c

#include "contact.h"

/*初始化*/

void initcontact(pcon pcon)

memset(pcon->con, 0, con_start*sizeof(peo));

pcon->count = 0;

pcon->capacity = con_start;//初始化最大容量為con_start

}void check(pcon pcon) //檢測

else }}

/*增加成員*/

void add(pcon pcon)

int find(pcon pcon)

; int i = 0;

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

scanf("%s", name);

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

} return -1;

}/*刪除成員*/

void dele(pcon pcon)

ret = find(pcon);

if (ret == -1)

else

pcon->count--;

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

/*查詢成員*/

void search(pcon pcon)

ret = find(pcon);

if (ret == -1)

else

}/*修改*/

void modify(pcon pcon)

ret = find(pcon);

if (ret == -1)

else

}/*排序*/

void sort(pcon pcon) //從小到大

} if (flag == 1)

break;

} //show(pcon);

printf("排序完成\n");

}/*展示資訊*/

void show(pcon pcon)

}void empty(pcon pcon)

}

3.test.c

#include "contact.h"

/*通訊錄可以用來儲存1000個人的資訊,每個人的資訊包括:

姓名、性別、年齡、**、住址

提供方法:

1. 新增聯絡人資訊

2. 刪除指定聯絡人資訊

3. 查詢指定聯絡人資訊

4. 修改指定聯絡人資訊

5. 顯示所有聯絡人資訊

6. 清空所有聯絡人

7. 以名字排序所有聯絡人

0. 退出

*/enum option //列舉,增加**可讀性

;void menu()

test() }}

int main()

通訊錄動態開闢版本

contact.h include include include ifndef cntact h define cntact h define name max 20 define max 4 define tel max 12 define addr max 50 define default ...

動態通訊錄

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