在我們的平常生活中常常會用到**通訊錄,常用的功能有新增聯絡人,刪除,查詢,刪除,清空,顯示,按姓名排序等
現在我們就來實現以下要求的簡易通訊錄
實現乙個通訊錄;
通訊錄可以用來儲存1000個人的資訊,每個人的資訊包括:
姓名、性別、年齡、**、住址
提供方法:
1.新增聯絡人資訊
2.刪除指定聯絡人資訊
3.查詢指定聯絡人資訊
4.修改指定聯絡人資訊
5.顯示所有聯絡人資訊
6.清空所有聯絡人
7.以名字排序所有聯絡人
要實現通訊錄,就要用到結構體。可以建立兩個結構體,乙個用來存放資料的,另乙個把這些資料存放起來。
相當於先建立乙個資料夾用來存放下的小電影,資料夾可以按照國家來建立很多個嘛,然後再把這麼多的資料夾放在你的隱藏空間裡。這裡按照國家起名的資料夾就是第乙個結構體,這個隱藏空間就是第二個結構體。隱藏空間肯定要用乙個計算存了多少資料夾的計數器,所以第二個結構體要定義乙個計數器。
具體的怎麼實現直接來看**,注釋裡有解釋
按模組化來寫
test.c
#define _crt_secure_no_warnings 1
#include "contact.h"
void menu()
enum op //用列舉法列出選項,直觀
;void test()
}while(input);
}int main()
contact.c
#define _crt_secure_no_warnings 1
#include "contact.h"
void initcontact(contact pcon) //靜態初始化
int add_con(contact pcon) //新增資料
pcon->sz++; //存乙個計數器加1
return 0;
}int del_con(contact pcon) //要刪除的資料
ret = find_con(pcon); //先遍歷一遍
if(ret != -1)
pcon->sz--; //刪除之後計數器減1
return 1;
} else }
int find_con(contact pcon) //查詢,為後面的其他選項提供遍歷
} return -1;
}int modifty_con(contact pcon) //要修改的內容
ret = find_con(pcon); //先在遍歷一遍,看有沒有要修改的資料
if(ret != -1)
else }
int show_con(contact pcon) //將所有資訊按存入時間來顯示出來
printf("\n");
return 0;
}int empty_con(contact pcon) //清空資料
int sort_con(contact pcon) //按姓名字母大小排序顯示
for(i=0; isz-1; i++)
}} tmp = show_con(pcon); //將排序後的列印出來
return 0;
}
contact.h
#ifndef __contact_h__
#define __contact_h__
#define _crt_secure_no_warnings 1
#include #include #include #include #define name_max 20
#define ***_max 4
#define tel_max 12
#define addr_max 30
#define max 1000
typedef struct peoinfo //定義乙個存乙個資料的結構體
peoinfo;
typedef struct contact //定義乙個能存放1000個型別為peoinfo型別的結構體
;typedef struct contact *contact; //將結構體重命名為乙個結構體指標,用來直接指向結構體內容
C語言實現簡易通訊錄
提供方法 1.新增指定聯絡人信 2.刪除指定聯絡人資訊 3.查詢指定聯絡人資訊 4.修改指定聯絡人資訊 5.顯示所有聯絡人資訊 6.清空所有聯絡人 7.以名字或年齡排序所有聯絡人 include define max 1000 define first 3 define ext 2 typedef ...
通訊錄簡易版(c語言)
通訊錄簡易版 include include include pragma warning disable 4996 先建立結構體,表示乙個聯絡人 typedef struct personperson define max person 1024 typedef struct addressboo...
OC簡易通訊錄
addressbook.m implementation addressbook 重寫初始化方法 instancetype init return self instancetype init return self 新增新聯絡人 void addcontact contact contact el...