很easy的靜態通訊錄

2021-08-20 08:56:20 字數 1772 閱讀 6690

實現乙個通訊錄; 

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

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

提供方法: 

1.新增聯絡人資訊 

2.刪除指定聯絡人資訊 

3.查詢指定聯絡人資訊 

4.修改指定聯絡人資訊 

5.顯示所有聯絡人資訊 

6.清空所有聯絡人 

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

一,要想實現乙個通訊錄,不要著急著寫,思考清楚後,很easy

第一步:把可能用到的函式宣告,列舉型別,庫函式都寫到頭檔案裡(沒想到的話,先不用寫)

我的標頭檔案如下:

#ifndef _addr_h_         //防止標頭檔案被重複引用

#define _addr_h_

enum

;#include#include#include#include#define max_size 1000

typedef struct peoinfo

peoinfo;

typedef struct record

record;

void add(record *p);

void search(record *p);

void show(record *p);

void empty(record *p);

void sort(record *p);

void mod(record *p);

void del(record *p);

#endif

第二步:

先寫測試檔案,主要是實現函式封裝,便於呼叫

#include"addr.h"

void menu()

int main()

} while(input);

return 0;

}

第三步:

具體寫函式內部功能,如果不需要別人看到的函式,只有自己來使用的話,用static修飾,使函式具有內部鏈結屬性,更加安全

#include"addr.h"

void add(record *p)

static int sea(record *p) //具有內部鏈結屬性

; assert(p!=null);

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

scanf("%s",&name);

for(i=0; isz; i++)

return -1;

}void search(record *p)

else

printf("沒有找到\n");

}void show(record *p)

}void empty(record *p)

void del(record *p)

p->sz--;

} else

printf("沒有找到聯絡人");

}void sort(record *p) //用氣泡排序法

}if(flag == 0) //只用名字排序,所以不需要比較其他的

break;

} printf("排序成功\n");

}void mod(record *p) //修改函式

else

printf("沒有找到聯絡人");

}

是不是很簡單呢?如果你還想知道動態通訊錄,可以看我的下篇部落格

靜態通訊錄

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

通訊錄 靜態

contact.h ifndef contact h 防止標頭檔案的重複引用 define contact h include define max 1000 define name max 20 define max 25 define addr max 30 define tele max 12...

靜態通訊錄

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