#include /* 头文件 */
#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(); /* 读入文件 */
while(1) /* 循环(永远进行) */
{
zhucaidan(); /* 调用主菜单函数 */
}
}
//读取文件函数部分开始 模块七
void readfile()
{
通讯录 .txt","r"))==NULL) /* 以只读方式打开判定文件是否为空 */
{
printf("\n\t\t\t 通讯录文件不存在 "); /* 判断结论 */
if ((fp=fopen(" 同通讯录 .txt","w"))==NULL) /* 只写方式判断 */
{
printf("\n\t\t 建立失败 "); /* 为空结论 */
exit(0); /* 退出*/
}
else /* 不为空则执行 else*/
{
printf("\n\t----------------- 欢迎使用通讯录管理系统 ------------------");
printf("\n\t 通讯录文件已建立 ");
printf("\n\t 按任意键进入主菜单 ");
printf("\n\t---------------------------------------------------------");
getch();
return ;
}
exit(0);
}
fseek(fp,0,2); /* 文件位置指针移动到文件末尾 */
if (ftell(fp)>0) /* 文件不为空 */
{
rewind(fp); /* 文件位置指针移动到文件开始位置 */
for (n=0;!feof(fp) && fread(&txl[n],sizeof(struct tongxunlu),1,fp);n++);
printf("\n\t---------- 欢迎使用通讯录管理系统 1.0beat 版----------------");
printf("\n\t 文件导入成功 ");
printf("\n\t 按任意键返回主菜单 ");
printf("\n\t---------------------------------------------------------");
getch();
return;
}
printf("\n\t------------ 欢迎使用通讯录管理系统 1.0beat 版--------------");
printf("\n\t 文件导入成功 ");
printf("\n\t 通讯录文件中无任何纪录 ");
printf("\n\t 按任意键返回主菜单 ");
printf("\n\t---------------------------------------------------------");