通訊錄的靜態實現

2021-07-11 22:55:23 字數 2590 閱讀 1222

實現乙個通訊錄:

通訊錄可以用來儲存1000個人的資訊,每個人的資訊包括:姓名、性別、年齡、**、住址

提供方法:

1.新增聯絡人資訊

2.刪除指定聯絡人資訊

3.查詢指定聯絡人資訊

4.修改指定聯絡人資訊

5.顯示所有聯絡人資訊

6.清空所有聯絡人

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

首先我們採用順序表的方式來實現乙個通訊錄,順序表就是一種靜態的模式。但是呢,靜態的方式存在著一些明顯的弊端,比如說:(1)資訊少了存在空間浪費現象,資訊多了存在空間不足的現象;(2)無法對資訊進行儲存,沒有實用性.所以呢,後期會提供動態方式和檔案的方式。

為了結構清晰我使用了三個檔案來進行封裝,contact.h封裝結構體以及函式的宣告,test.c封裝主函式,contact.c用來封裝函式的演算法。

下來進行**實現:

contact.h

#define _crt_secure_no_warnings 1

#ifndef __contact_h__ //防止重定義

#define __contact_h__

#include #include #includeenum op

;#define name_max 20

#define ***_max 5

#define tele_max 12

#define addr_max 25

#define max 1000

typedef struct perinfo

peoinfo;

typedef struct contact

contact,*pcon;

void init_contact(pcon pcon);

void _add_contact(pcon pcon);

void _display_contact(pcon pcon);

void _del_contact(pcon pcon);

void _search_contact(pcon pcon);

void _modify_contact(pcon pcon);

void _sort_contact(pcon pcon);

void _clear_contact(pcon pcon);

#endif

test.c

#include "contact.h"

void menu()

int main()

} return 0;

}

contact.c

#include"contact.h"

void init_contact(pcon pcon) //進行初始化

static int find(pcon pcon,char arr) //由於在修改,刪除,查詢的地方都需要查詢通訊錄的元素,所以對find進行封裝

return -1;

} void _add_contact(pcon pcon)

else

}void _display_contact(pcon pcon)

}void _del_contact(pcon pcon)

; if(pcon->size==0)

else

else

}}void _search_contact(pcon pcon)

; printf("請輸入要查詢的人的姓名:\n");

scanf("%s",name);

ret=find(pcon,name);

if(ret!=-1)

else

printf("未找到所要查詢的人!\n");

}void _modify_contact(pcon pcon)

; int year=0;

char name[name_max]=;

printf("請輸入要修改的人的姓名:\n");

scanf("%s",name);

ret=find(pcon,name);

if(ret!=-1)

} else

} void _sort_contact(pcon pcon)

; int i=0;

int j=0;

int flag=0; //表示有序

for(i=1;i<(pcon->size)-1;i++)

if(flag==0)

break; }}

void _clear_contact(pcon pcon)

通訊錄 靜態實現

address.h ifndef address h define address h include include include include define max 10 這裡我為了除錯方便取了乙個較小的數值 enum op 姓名 性別 年齡 住址 typedef struct pesonm...

靜態通訊錄的實現

實現乙個通訊錄 通訊錄可以用來儲存1000個人的資訊,每個人的資訊包括 姓名 性別 年齡 住址 提供方法 1.新增聯絡人資訊 2.刪除指定聯絡人資訊 3.查詢指定聯絡人資訊 4.修改指定聯絡人資訊 5.顯示所有聯絡人資訊 6.清空所有聯絡人 7.以名字排序所有聯絡人 經過多次除錯,初成 ifndef...

靜態通訊錄

這個通訊錄存粹用到c的知識就可以,主要就是乙個聯絡人資訊結構體,再就是乙個結構體陣列,對結構體陣列反覆操作 進行增 刪 查 改 排序 由於是初學者還不能對中文名進行排序 清空寫等功能。在這裡我們可以盡量寫的正式一點 所以我們用contact.h頭檔案建立結構體和對函式進行宣告 conteact.c中...