專案要求:
實現乙個通訊錄;
通訊錄可以用來儲存1000個人的資訊,每個人的資訊包括:姓名、性別、年齡、**、住址
提供方法:
新增聯絡人資訊
刪除指定聯絡人資訊
查詢指定聯絡人資訊
修改指定聯絡人資訊
顯示所有聯絡人資訊
清空所有聯絡人
以名字排序所有聯絡人
這個系統我們分為三個部分來實現:
contact.h·
這個一部分主要是我們是所用到的函式和聯絡人資訊這一結構體的宣告以及各種標頭檔案的引用。
contact.c
該部分是實現增,刪,改,查,排序,清空,顯示等功能的函式定義
test.c
該部分是主函式,主要實現函式呼叫和選單的列印
下來看具體實現:
#define _crt_secure_no_warnings 1
////型別的宣告+函式的宣告
//#include
#include
#define max 1000
#define max_name 20
#define max_tele 12
#define max_addr 100
#define max_qq 12
#define max_*** 5
typedef
struct peoinfo
peoinfo;
//通訊錄
typedef
struct contact
contact;
//新增乙個人的資訊
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)
;//清空所有聯絡人
void
clean_up
(contact* pc)
;
此處要注意,我們將聯絡人各資訊的陣列大小用define定義成常量型別是為了方便後期的維護,假如我們需要更大的空間來儲存該資訊時,只需要在標頭檔案中更改就可以了,節省後期的工作量
#define max 1000
//最大可儲存的聯絡人數
#define max_name 20
#define max_tele 12
#define max_addr 100
#define max_qq 12
#define max_*** 5
typedef
struct peoinfo
peoinfo;
這部分是主要功能函式的定義,在個功能實現時都需要注意其前提條件.
例如,通訊錄中已存有1000個聯絡人的情況下,無法再向其中儲存資訊;若通訊錄為空時,無法刪除聯絡人資訊,等等.
此處還有乙個函式較為重要,就是這個find_peo_by_name函式,因為我們在刪除,修改,查詢,顯示功能中都涉及查詢這一操作,所以我們額外定義乙個函式通過多次呼叫該函式來提高效率.
還要注意,此處各功能函式的形參必須是指標,否則無法改變記憶體中的值.
#define _crt_secure_no_warnings 1
#include
"contact.h"
//新增聯絡人
void
add_contact
(contact* pc)
else
}//顯示所有聯絡人資訊
void
show_contact
(contact* pc)
}//查詢功能
static
intfind_peo_by_name
(contact* pc,
char name)
}return-1
;//找不到
}//刪除指定聯絡人
void
del_contact
(contact* pc)
else
;printf
("請輸入要刪除人的名字:>");
scanf
("%s"
, name)
;//1. 找到指定的聯絡人的位置
int pos =
find_peo_by_name
(pc, name);if
(pos ==-1
)else
pc->sz--
;printf
("刪除成功\n");
}}}//查詢指定聯絡人
void
search_contact
(contact* pc)
;printf
("請輸入要查詢人的名字:>");
scanf
("%s"
, name)
;int pos =
find_peo_by_name
(pc, name);if
(pos ==-1
)else
}//修改聯絡人資訊
void
modify_contact
(contact* pc)
;printf
("請輸入要修改人的名字:>");
scanf
("%s"
, name)
;int pos =
find_peo_by_name
(pc, name);if
(pos ==-1
)else
}//通訊錄排序
void
sort_contact
(contact* pc)}if
(1== flag)}}
//清空所有聯絡人
void
clean_up
(contact *pc)
接下來就是主函式,實現各部分功能的呼叫,和選單功能
#define _crt_secure_no_warnings 1
#include
"contact.h"
void
menu()
enum option
;//first_name
//firstname
void
test()
;int input =0;
do}while
(input);}
intmain()
C語言通訊錄小專案
include include include include 定義節點 struct node 建立頭節點 int init struct node pheader return 0 bzero pnode,sizeof struct node 清理堆空間 pnode name 20 對於字元陣列...
C語言小專案 通訊錄
通訊錄全部採用c語言實現,用鍊錶實現增加 刪除 修改 查詢等功能,還有命令解析函式 將輸入分解成主命令 姓名 聯絡人資訊是儲存在檔案中,每次程式執行和結束時都會讀取檔案中的資訊。節點裡定義的都是指標,增加新節點時要開闢新的記憶體,刪除節點時要記得及時釋放記憶體,防止記憶體溢位。標頭檔案 標頭檔案中是...
通訊錄小專案
可以儲存1000人的資訊,個人資訊包括姓名 住址 年齡 性別。提供方法 1 新增聯絡人資訊 2 刪除指定聯絡人資訊 3 查詢指定聯絡人資訊 4 修改指定聯絡人資訊 5 顯示所有聯絡人資訊 6 清空所有聯絡人資訊 7 以名字排序所有聯絡人 1 從檔案讀取和向檔案寫入資訊 fopen fclose fs...