个人通讯录管理系统C语言源程序(优秀版)[1]
更新时间:2017/2/22 1:03:00 浏览量:613 手机版
C语言个人通讯录系统源程序:
#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() { if((fp=fopen("c:\\通讯录.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---------------------------------------------------------"); getch(); return; }
//读取文件函数结束
//文件主菜单函数开始 模块六 void zhucaidan() { char c; system("cls"); printf("\n\t\t|------- 欢迎您使用通讯录管理系统1.0beat版 -----|");
"); "); "); "); "); ");
printf("\n\t\t| 1-添加联系人 2-查询和显示联系人|"); printf("\n\t\t| 3-删除联系人 4-修改联系人 |"); printf("\n\t\t| 5-保存退出 0-不保存退出 |"); printf("\n\t\t|------------------------------------------------|"); printf("\n\t\t请选择您所所要的服务:"); c=getch(); switch (c) /*对于上边的选择项目*/ { case '1':zengjia();break; case '2':chazhao();break; case '3':shanchu();break; case '4':xiugai();break; case '5':writefile();break; case '0':exit(0); default:zhucaidan(); /*如果没有则返回主菜单等待输入*/ } }
//文件主菜单函数结束
//添加新联系人函数开始 模块一 void zengjia() { printf("\n\t\t------------------ 请输入联系人信息 --------------------\n"); printf("\n\t\t输入联系人姓名:"); scanf("%s",txl[n].xingming); /*键盘输入*/ printf("\n\t\t输入联系人电话号码:"); scanf("%s",txl[n].dianhua); printf("\n\t\t输入联系人地址:"); scanf("%s",txl[n].dizhi); n++; /*统计个数*/ printf("\n\t\t是否继续添加联系人?(Y/N):"); /*是否继续输入联系人.*/ if (getch()=='y') zengjia(); return; }
//添加新联系人结束
//写入文件函数开始 模块七
void writefile()/*联系人写入文件*/ { int i; if ((fp=fopen("c:\\通讯录.txt","w"))==NULL) { printf("\n\t\t文件打开失败"); }
for (i=0;i
//写入文件函数结束
///查询联系人函数开始 模块四---------------------------------------------------- void chazhao() { char c; system("cls"); printf("\n\t\t------------------- 显示和查询联系人 ------------------"); printf("\n\t\t| 1-逐个显示所有2-按姓名查询 |"); printf("\n\t\t| 3-按电话查询 4-返回主菜单 |"); printf("\n\t\t|------------------------------------------------------"); printf("\n\t\t请选择您所所要的服务:"); c=getch(); switch (c) { case '1':xianshi();break; /*显示所有号码*/ case '2':chazhao_xingming();break; /*调用按姓名查询函数*/ case '3':chazhao_dianhua();break; /*调用按号码查询函数*/ case '4':zhucaidan();break; /*主菜单*/ } }
void xianshi()//显示所有联系人函数 { int i; system("cls");//清楚屏幕 if(n!=0) { printf("\n\t\t----------欢迎您查询通讯录所有联系人信息-------------");