#include
#include
#include
struct tongxunlu /*定义通讯录结构体变量*/ {
char xingming[20]; /*定义输入名字的数组*/ char dianhua[20]; /*定义输入电话号码的数组*/ char dizhi[40]; /*定义输入地址的数组*/
} txl[100]; //默认100个数据 int n=0;//记录数据联系人数量 FILE *fp; /*定义文件*/ //程序用到的所有函数
void zhucaidan(); /*主菜单函数*/ void zengjia(); /*增加联系人函数*/ void readfile(); /*文件中读入函数*/ void writefile(); /*文件中写入函数*/ void xiugai(); /*修改联系人函数*/
void xiugai_xingming(); /*姓名修改*/ void xiugai_dianhua(); /*电话号码修改*/
void chazhao(); /*查找联系人函数*/
void chazhao_xingming(); /*按姓名查找*/ void chazhao_dianhua(); /*按号码查找*/
void shanchu(); /*删除联系人函数*/
void shanchu_quanbu(); /*全部删除*/ void shanchu_dange(); /*单个删除*/
void xianshi(); /*号码显示*/ //程序主函数 模块六
void main() /*主函数main*/ { readfile(); /*读入文件*/ }
//读取文件函数部分开始 模块七 void readfile() {
if((fp=fopen(\通讯录.txt\以只读方式打开判定while(1) /* 循环(永远进行)*/ {
zhucaidan(); /*调用主菜单函数*/ }
文件是否为空*/
{
printf(\通讯录文件不存在\判断结论*/ if ((fp=fopen(\同通讯录.txt\只写方式判断*/
{
printf(\建立失败\为空结论*/ exit(0); /*退出*/
}
else /*不为空则执行else*/ {
printf(\欢迎使用通讯录管理系统
------------------\
printf(\ 通讯录文件已建立
\
printf(\ 按任意键进入主菜单
\
printf(\
----\
}
fseek(fp,0,2); /*文件位置指针移动到文件末尾*/ if (ftell(fp)>0) /*文件不为空*/
} exit(0);
getch(); return ;
{
rewind(fp); /*文件位置指针移动到文件开始位置*/ for
(n=0;!feof(fp)
&&
fread(&txl[n],sizeof(struct
tongxunlu),1,fp);n++);
printf(\欢迎使用通讯录管理系统1.0beat版
----------------\
printf(\ 文件导入成功
\
printf(\ 按任意键返回主菜单
\
printf(\
----\
}
printf(\欢迎使用通讯录管理系统1.0beat版getch(); return;
--------------\
printf(\ 文件导入成功
\
printf(\ 通讯录文件中无任何纪录
\
printf(\ 按任意键返回主菜单
\
printf(\
----\ }
//读取文件函数结束
//文件主菜单函数开始 模块六 void zhucaidan() {
char c; system(\
printf(\ 欢迎您使用通讯录管理系统1.0beat版
getch(); return;
-----|\
printf(\ 1-添加联系人 2-查询和显示联系人
|\
printf(\ 3-删除联系人 4-修改联系人
|\
printf(\ 5-保存退出 0-不保存退出
|\
个人通讯录管理系统c语言源程序优秀版



