C語言 實現乙個通訊錄

2021-08-22 15:07:04 字數 2692 閱讀 2561

可以增容

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

新增聯絡人資訊

刪除指定聯絡人資訊

查詢指定聯絡人資訊

修改指定聯絡人資訊 

顯示所有聯絡人資訊

清空所有聯絡人

排序所有聯絡人 

#ifndef __contact_h__

#define __contact_h__

#include #include #include #include #define default_sz 3

#define name_max 20

#define ***_max 5

#define tele 12

#define addr 30

#define max 1000

typedef struct peoinfo

peoinfo;

//動態版本

typedef struct contact

contact, *pcontact;

void initcontact(pcontact pc);

void destroycontact(pcontact pc);

void addcontact(pcontact pc);

void showcontact(pcontact pc);

void delcontact(pcontact pc);

void searchcontact(pcontact pc);

void modifycontact(pcontact pc);

void sortcontact(pcontact pc);

void emptycontact(pcontact pc);

#endif // __contact_h__

#define _crt_secure_no_warnings 1

#include "contact.h"

void initcontact(pcontact pc)

void destroycontact(pcontact pc)

void *check_capacity(pcontact pc)

else

}return pc->data;

}void addcontact(pcontact pc)

//新增

printf("請輸入名字:>");

scanf("%s", pc->data[pc->sz].name);

printf("請輸入年齡:>");

scanf("%d", &(pc->data[pc->sz].age));

printf("請輸入性別:>");

scanf("%s", pc->data[pc->sz].***);

scanf("%s", pc->data[pc->sz].tele);

scanf("%s", pc->data[pc->sz].addr);

pc->sz++;

}void showcontact(pcontact pc)

}static int findentry(pcontact pc,char name)

} return -1;//沒找到

}void delcontact(pcontact pc)

; assert(pc);

if (pc->sz == 0)

printf("請輸入刪除人的名字:>");

scanf("%s", name);

//1.查詢

pos = findentry(pc, name);

//2.刪除

if (pos != -1)

pc->sz--;

} else }

void searchcontact(pcontact pc)

; int pos = 0;

printf("請輸入要查詢人的名字:>");

scanf("%s", name);

pos = findentry(pc, name);

if (pos == -1)

else

printf("%10s\t%4s\t%5s\t%12s\t%20s\n", "name", "age", "***", "tele", "addr"); }

void modifycontact(pcontact pc)

; int pos = 0;

printf("請輸入要修改人的名字:>");

scanf("%s", name);

pos = findentry(pc, name);

if (pos == -1)

else }

void sortcontact(pcontact pc)

} if (flag == 0)

break; }}

void emptycontact(pcontact pc)

#define _crt_secure_no_warnings 1

#include "contact.h"

void menu()

enum option

;void test()

} while (input);

}int main()

c語言實現乙個通訊錄

小週末學習了結構體,今天打算自己做乙個通訊錄,這個通訊錄儲存若干個使用者資訊,每個使用者資訊中包含姓名,我們想要這個通訊錄可以實現增刪改查的功能。首先,首先我們要建立乙個結構體,這個結構體儲存了每個人的資訊 姓名及 typedef struct personinfopersoninfo 緊接著,我們...

C語言實現乙個簡單通訊錄

通訊錄和學生資訊管理系統的基本功能部分實現一模一樣。來看看不一樣的部分。查詢 通訊錄需要實現根據聯絡人不同資訊查詢的功能,可以為每一種查詢情況都封裝乙個查詢函式,或者根據不同情況返回不同的比較結果進行查詢。為了使函式更加簡短,我們將該功能分為三個函式。根據 mode 的不同獲取不同比較方式的比較結果...

C語言實現乙個簡單的通訊錄

通訊錄可以用來儲存1000個人的資訊,每個人的資訊包括 姓名 性別 年齡 qq 住址。通訊錄功能包括 新增聯絡人 顯示聯絡人 刪除指定聯絡人 查詢指定聯絡人 修改指定聯絡人 對通訊錄進行排序。整個通訊錄由三個檔案組成 contact.h contact.c test.c contact.h incl...