C語言實現通訊錄 一 (未優化)

2021-10-10 21:42:24 字數 2222 閱讀 7645

定義結構體peoinfo 包括姓名, 性別,年齡,**號碼,位址,qq等

#define max_name 20

#define max_tele 12

#define max_addr 100

#define max_qq 12

#define max_*** 5

#define max_people 1000

typedef struct peoinfo peoinfo;

定義結構體contact,裡面定義乙個存放資訊的陣列data以及記錄當前存放資料個數sz

typedef struct contact//通訊錄結構體  方便維護通訊錄

contact;

功能函式的宣告  包括增,刪,查,改,排序,顯示等

contact.h

void add_contact(contact* pc);//新增

void show_contact(contact* pc);//顯示

void del_contact(contact* pc);//按姓名刪除

void search_contact(contact* pc);//按姓名查詢

void modify_contact(contact* pc);//按姓名修改

void sort_contact(contact* pc);//按姓名排序

注意排序功能函式使用氣泡排序的思想實現,但在原有氣泡排序的基礎上進行優化,定義標誌位,假設在某一趟中已經按要求完成排序了,已經有序,如果不進入兩兩交換的程式,則認為無需繼續下一趟  直接跳出即可完成排序

#define _crt_secure_no_warnings 1 

#include"contact.h"

void add_contact(contact* pc)

else }

void show_contact(contact* pc)

}static int find_byname(contact* pc,char name)//只能在自己所在的原始檔(即contact.c)中使用

; printf("輸入查詢人姓名》");

scanf("%s",name);*/

for (int i = 0; i < pc->sz; i++) }

return -1;

}void del_contact(contact* pc)

else

; printf("輸入刪除人姓名》");

scanf("%s", name);

int pos = find_byname(pc,name);

if (pos == -1)

else

pc->sz--;

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

} }}void search_contact(contact* pc)

; printf("輸入查詢人姓名》");

scanf("%s", name);

int pos = find_byname(pc, name);

if (pos == -1)

else }

void modify_contact(contact* pc)

; printf("輸入修改人姓名》");

scanf("%s", name);

int pos = find_byname(pc, name);

if (pos == -1)

else }

void sort_contact(contact* pc)

} if (flag == 1)

}}

定義列舉型別來替換switch-case語句的選項,優化操作

#define _crt_secure_no_warnings 1

#include"contact.h"

void menu()

enum option ;

void test()

;//建立通訊錄且初始化

int input = 0;

do } while (input);

}int main()

c語言實現通訊錄

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

C語言實現通訊錄

今天寫乙個簡單的c語言小專案,簡易的通訊錄 編譯環境 win10 vs2013 通訊錄可以用來儲存1000個人的資訊,每個人的資訊包括 姓名 性別 年齡 住址 通訊錄包含的功能 1.新增聯絡人資訊 2.刪除指定聯絡人資訊 3.查詢指定聯絡人資訊 4.修改指定聯絡人資訊 5.顯示所有聯絡人資訊 6.清...

C語言實現通訊錄

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