用結構體實現通訊錄

2021-06-29 05:47:48 字數 3461 閱讀 3764

問題描述:

實現乙個通訊錄;

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

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

提供方法:

1.新增聯絡人資訊

2.刪除指定聯絡人資訊

3.查詢指定聯絡人資訊

4.修改指定聯絡人資訊

5.顯示所有聯絡人資訊

6.清空所有聯絡人資訊

標頭檔案:"contacts.h"

#ifndef __contact_h__//防止內容的重複

#define __contact_h__

//工程中用到的函式庫

#include#include#include//關於字串的各種巨集替換

#define max 1000

#define name_size 20

#define ***_size 10

#define tele_size 11

#define addr_size 20

//描述通訊錄資訊的結構體

struct personinfor

;typedef struct personinfor person;

struct contacts

;typedef struct contacts * pcontacts;

int add_contact(pcontacts pcon); //新增聯絡人

int delete_contact(pcontacts pcon);//刪除指定聯絡人

int find_contact(pcontacts pcon); //查詢指定聯絡人

int modify_contact(pcontacts pcon);//修改指定聯絡人

int clear_contact(pcontacts pcon); //清空所有聯絡人

void show_contact(pcontacts pcon); //顯示所有聯絡人

#endif

具體函式實現「contacts.c」
#include"contacts.h"

/*尋找指定聯絡人的位置:

如果找到:返回該聯絡人的在陣列中的下標

沒有找到:返回-1;

*/int find_entry(pcontacts pcon)

printf("please input a name:");

scanf("%s",name);

for(i = 0;icontact_count; ++i) }

return -1;

}//增加聯絡人

int add_contact(pcontacts pcon)

printf("please input a person's information according the rompt:\n");

printf("name:");

scanf("%s",pcon->person[pcon->contact_count].name);

printf("***:");

scanf("%s",pcon->person[pcon->contact_count].***);

printf("age:");

scanf("%d",&pcon->person[pcon->contact_count].age);

printf("tele:");

scanf("%s",pcon->person[pcon->contact_count].tele);

printf("addr:");

scanf("%s",pcon->person[pcon->contact_count].addr);

pcon->contact_count++;

// printf("do you want to continue ? 1:yes 0:no");

// scanf("%d",&input);

// }

}int delete_contact(pcontacts pcon)

if(ret == -1)

for(i=ret;icontact_count-1;++i)//注意i < (pcon->contact_count-1)而不是(pcon->contact_count)

pcon->contact_count--;

return 1;

}int find_contact(pcontacts pcon)

else }

//修改指定聯絡人

int modify_contact(pcontacts pcon)

printf("please input the new infor according the rompt:\n");

printf("name:");

scanf("%s",pcon->person[ret].name);

printf("***:");

scanf("%s",pcon->person[ret].***);

printf("age:");

scanf("%d",&pcon->person[ret].age);

printf("tele:");

scanf("%s",pcon->person[ret].tele);

printf("addr:");

scanf("%s",pcon->person[ret].addr);

return 1;

}//清空聯絡人

int clear_contact(pcontacts pcon)

//顯示所有聯絡人

void show_contact(pcontacts pcon)

printf("the contacts' infor are as following:\n ");

for(i=0;icontact_count;++i) }

//選單函式:使上述各個功能能夠多次呼叫

int meau()

主函式:main.c
#include"contacts.h"

int main()

} return 0;

}

呼叫結果顯示

c語言 結構體實現通訊錄

要求 通訊錄可以儲存1000個人的資訊,每個人的資訊包括姓名,性別,年齡,號碼,住址等。建立兩個結構體實現 乙個實現通訊錄 乙個建立計數器,寫多個函式 分別實現 1.新增聯絡人資訊 2.刪除指定聯絡人資訊 3.查詢指定聯絡人資訊 4.修改指定聯絡人資訊 5.現實聯絡人資訊 6.清空所有聯絡人 標頭檔...

通訊錄 結構體指標陣列實現

實現功能有 1.新建,新增聯絡人,在達到上限時輸出book full!儲存上限可以通過改變巨集定義裡maxsize的值來實現,為了測試方便,目前的 maxsize 3 2.檢視當前通訊錄內所有聯絡人 3.以名字為索引查詢聯絡人 4.以名字為索引修改聯絡人 5.以名字為索引刪除聯絡人 6.按名字asc...

C 結構體陣列簡單實現通訊錄

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