收藏 分销(赏)

个人通讯录管理系统C语言源程序(优秀版).doc

上传人:精*** 文档编号:2009141 上传时间:2024-05-13 格式:DOC 页数:14 大小:104KB 下载积分:8 金币
下载 相关 举报
个人通讯录管理系统C语言源程序(优秀版).doc_第1页
第1页 / 共14页
个人通讯录管理系统C语言源程序(优秀版).doc_第2页
第2页 / 共14页


点击查看更多>>
资源描述
#include <stdio.h> /*头文件*/ #include <stdlib.h> //包含最常用的系统函数 #include <string.h> //关于字符数组的函数定义的头文件 #include <conio.h> //控制台输入输出 //定义结构体 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<n;i++) { if (fwrite(&txl[i],sizeof(struct tongxunlu),1,fp)!=1) { printf("\n\t\t写入文件错误!\n"); } } fclose(fp); /*关闭文件*/ printf("\n\t------------------------------------------------------"); /*输出提示信息*/ printf("\n\t\t通讯录文件已保存"); printf("\n\t\t谢谢使用,欢迎再次使用!\n"); printf("如果对本软件有疑问,请到我们官网()提出您的问题,我们将为您解答.\n"); printf("我们的软件有不足之处,欢迎到官网()反映,我们将努力改正!"); printf("\n\t\t按任意键退出程序\n\t\t"); /*输出完毕*/ exit(0); printf("\n\t------------------------------------------------------"); } //写入文件函数结束 ///查询联系人函数开始 模块四---------------------------------------------------- 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----------欢迎您查询通讯录所有联系人信息-------------"); for (i=0;i<n;i++) /*依次序显示*/ { printf("\n\t\t姓名: %s",txl[i].xingming); printf("\n\t\t电话: %s",txl[i].dianhua); printf("\n\t\t地址: %s",txl[i].dizhi); printf("\n\t\t--------------------------------------------------"); if (i+1<n) { printf("\n\t\t-----------------------"); system("pause");//返回错误信息 } } printf("\n\t\t---------------------------------------------"); } else /*无联系人*/ printf("\n\t\t通讯录中无任何纪录"); printf("\n\t\t按任意键返回主菜单:"); getch(); return; } //按号码查询函数 void chazhao_dianhua() { int mark=0; int i; char phone[15]; printf("\n\t\t------------------- 按电话查找 -------------------------"); printf("\n\t\t请输入电话号码:"); scanf("%s",phone); for(i=0;i<n;i++) { if (strcmp(txl[i].dianhua,phone)==0)//对比查找函数 { printf("\n\t\t------------ 以下是您查找的学生信息 ------------"); printf("\n\t\t姓名: %s",txl[i].xingming); printf("\n\t\t电话: %s",txl[i].dianhua); printf("\n\t\t地址: %s",txl[i].dizhi); printf("\n\t\t------------------------------------------------"); printf("\n\t\t按任意键返回主菜单:"); mark++; getch(); return; } } if (mark==0) { printf("\n\t\t没有找到联系人的信息"); printf("\n\t\t按任意键返回主菜单"); getch(); return; } } void chazhao_xingming()//按姓名查询 { int mark=0; int i; char name[20]; printf("\n\t\t----------------按姓名查找 --------------------"); printf("\n\t\t请输入您要查找的姓名:"); scanf("%s",name); for(i=0;i<n;i++) { if (strcmp(txl[i].xingming,name)==0) { printf("\n\t\t------------ 以下是您查找的联系人信息 ---------------"); printf("\n\t\t姓名: %s",txl[i].xingming); printf("\n\t\t电话: %s",txl[i].dianhua); printf("\n\t\t地址: %s",txl[i].dizhi); printf("\n\t\t---------------------------------------------------"); mark++; getch(); return; } } if (mark==0) { printf("\n\t\t没有找到联系人的信息"); printf("\n\t\t按任意键返回主菜单"); getch(); return; } } ////查询联系人函数结束----------------------------------------------------- ////删除联系人函数部分开始------------------------------------------------- void shanchu() { char c; if(n==0) /*如果通讯录中没有一个记录输出以下部分*/ { printf("\n\t\t对不起,文件中无任何纪录"); printf("\n\t\t按任意键返回主菜单"); getch(); return; } system("cls"); /*清屏*/ printf("\n\t\t----------------- 删除菜单 ----------------------"); printf("\n\t\t| 1-删除所有 2-删除单个 |"); printf("\n\t\t| 3-返回主菜单 |"); printf("\n\t\t|-------------------------------------------------"); printf("\n\t\t请选择您所所要的服务:"); c=getch(); /*输入的赋予choice*/ switch (c) { case '1':shanchu_quanbu();break; case '2':shanchu_dange();break; case '3':zhucaidan();break; default:zhucaidan();break; } } void shanchu_quanbu()//删除所有联系人 { printf("\n\t\t确认删除?(y/n)"); if (getch()=='y') { fclose(fp); if ((fp=fopen("通讯录.txt","w"))==NULL) /*文件空输出*/ { printf("\n\t\t不能打开文件,删除失败"); readfile(); } n=0; printf("\n\t\t纪录已删除,按任意键返回主菜单"); getch(); return; } else return; } void shanchu_xingming()//按姓名删除联系人 { int i,m,mark=0,a=0; char name[20]; printf("\n\t\t请输入要删除联系人姓名:"); scanf("%s",name); /*键盘输入姓名*/ for (i=a;i<n;i++) { if (strcmp(txl[i].xingming,name) == 0) //对比字符串查找到要删除的联系人 { printf("\n\t\t以下是您要删除的联系人纪录:"); printf("\n\t\t--------------------------------"); printf("\n\t\t姓名: %s",txl[i].xingming); printf("\n\t\t电话: %s",txl[i].dianhua); printf("\n\t\t地址: %s",txl[i].dizhi); printf("\n\t\t--------------------------------"); printf("\n\t\t是否删除?(y/n)"); if (getch()=='y') // 实现删除功能 { for (m=i;m<n-1;m++) txl[m]=txl[m+1]; /*将通讯录的想前移*/ n--; mark++; printf("\n\t\t删除成功"); printf("\n\t\t是否继续删除?(y/n)"); if (getch()=='y') shanchu_xingming(); /*继续调用删除函数*/ return; } else return; } continue; } if (mark==0) { printf("\n\t\t没有该联系人的纪录"); printf("\n\t\t是否继续删除?(y/n)"); if (getch()=='y') shanchu_xingming(); return; } } void shanchu_dianhua()//按电话号码删除联系人 { int i,m,mark=0; /*变量定义*/ char phone[20]; printf("\n\t\t请输入要删除联系人电话号码:"); scanf("%s",phone); if(n==0) { printf("\n\t\t对不起,文件中无任何纪录"); printf("\n\t\t按任意键返回主菜单"); getch(); return; } for (i=0;i<n;i++) { if (strcmp(txl[i].dianhua,phone)==0) { printf("\n\t\t以下是您要删除的联系人纪录:"); printf("\n\t\t姓名: %s",txl[i].xingming); printf("\n\t\t电话: %s",txl[i].dianhua); printf("\n\t\t地址: %s",txl[i].dizhi); printf("\n\t\t是否删除?(y/n)"); if (getch()=='y') { for (m=i;m<n-1;m++) //递推替换实现删除 txl[m]=txl[m+1]; n--; mark++; //记录删除次数 printf("\n\t\t删除成功"); printf("\n\t\t是否继续删除?(y/n)"); if (getch()=='y') shanchu_dianhua(); return; } else return; } continue; } if (mark==0) { printf("\n\t\t没有该联系人的纪录"); printf("\n\t\t是否继续删除?(y/n)"); if (getch()=='y') return ; } } void shanchu_dange()//删除单个联系人 { char c; printf("\n\t----------------------------------------------------------"); printf("\n\t\t 1-按姓名删除 2-按电话删除"); printf("\n\t\t请选择您所所要的服务:"); printf("\n\t----------------------------------------------------------"); c=getch(); switch (c) { case '1':shanchu_xingming();break; case '2':shanchu_dianhua();break; } } ///删除函数部分结束-------------------------------------------------------- ///修改联系人函数开始-------------------------------------------------- void xiugai() /*修改函数*/ { char c; if(n==0) { printf("\n\t\t对不起,文件中无任何纪录"); printf("\n\t\t按任意键返回主菜单"); getch(); return; } system("cls"); printf("\n\t\t-----------------修改联系人菜单-----------------------"); printf("\n\t\t| 1-按姓名修改 2-按电话修改 |"); printf("\n\t\t| 任意键-按返回主菜单 |"); printf("\n\t\t------------------------------------------------------"); c=getch(); switch(c) { case '1':xiugai_xingming();break; case '2':xiugai_dianhua();break; default:zhucaidan();break; } } void xiugai_xingming() { char c; int i,mark=0; char name[20]; printf("\n\t\t请输入要修改的联系人姓名:"); scanf("%s",name); if(n==0) { printf("\n\t\t文件中无任何联系人"); printf("\n\t\t按任意键返回主菜单"); getch(); mark++; return; } for(i=0;i<n;i++) { if(strcmp(txl[i].xingming,name)==0) { printf("\n\t\t以下是您要修改的联系人信息"); printf("\n\t\t姓名: %s",txl[i].xingming); printf("\n\t\t电话: %s",txl[i].dianhua); printf("\n\t\t地址: %s",txl[i].dizhi); printf("\n\t\t是否修改(y/n)"); if(getch()=='y') { printf("\n\t------------请选择修改信息---------------"); printf("\n\t 1-修改姓名 2-修改电话 "); printf("\n\t 3-修改地址 "); printf("\n\t-----------------------------------------"); printf("\n\t请选择您所所要的服务:"); scanf("%s",&c); switch(c) { case '1': printf("\n\t请输入新姓名: "); scanf("%s",txl[i].xingming);break; case'2':printf("\n\t请输入新电话: %s"); scanf("%s",txl[i].dianhua);break; case'3':printf("\n\t请输入新地址: "); scanf("%s",txl[i].dizhi);break; } } } } if(mark==0) { printf("\n\t\t没有找到联系人信息"); printf("\n\t是否继续修改?(Y/N):"); if(getch()=='y') xiugai_xingming(); return; } } void xiugai_dianhua() { char c,phone[15]; int i,mark=0; printf("\n\t\t请输入要修改联系人的号码:"); scanf("%s",phone); if(n==0) { printf("\n\t\t文件中无任何联系人"); printf("\n\t\t按任意键返回主菜单"); getch();mark++; return; } for(i=0;i<n;i++) { if(strcmp(txl[i].dianhua,phone)==0) { printf("\n\t\t以下是您要修改的联系人信息"); printf("\n\t\t姓名: %s",txl[i].xingming); printf("\n\t\t电话: %s",txl[i].dianhua); printf("\n\t\t地址: %s",txl[i].dizhi); printf("\n\t\t是否修改(y/n)"); if(getch()=='y') { printf("\n\t------------请选择修改信息---------------"); printf("\n\t 1-修改姓名 2-修改电话 "); printf("\n\t 3-修改地址 "); printf("\n\t-----------------------------------------"); printf("\n\t请选择您所所要的服务:"); scanf("%s",&c); switch(c) { case'1': printf("\n\t请输入新姓名: "); scanf("%s",txl[i].xingming);break; case'2':printf("\n\t请输入新电话: "); scanf("%s",txl[i].dianhua);break; case'3':printf("\n\t请输入新地址: "); scanf("%s",txl[i].dizhi);break; } } } } if(mark==0) { printf("\n\t没有该联系人信息"); printf("\n\t是否继续修改?(Y/N):"); if(getch()=='y') xiugai_dianhua(); return; } } 其中专业理论知识内容包括:保安理论知识、消防业务知识、职业道德、法律常识、保安礼仪、救护知识。作技能训练内容包括:岗位操作指引、勤务技能、消防技能、军事技能。 二.培训的及要求培训目的 安全生产目标责任书 为了进一步落实安全生产责任制,做到“责、权、利”相结合,根据我公司2015年度安全生产目标的内容,现与财务部签订如下安全生产目标: 一、目标值: 1、全年人身死亡事故为零,重伤事故为零,轻伤人数为零。 2、现金安全保管,不发生盗窃事故。 3、每月足额提取安全生产费用,保障安全生产投入资金的到位。 4、安全培训合格率为100%。 二、本单位安全工作上必须做到以下内容: 1、对本单位的安全生产负直接领导责任,必须模范遵守公司的各项安全管理制度,不发布与公司安全管理制度相抵触的指令,严格履行本人的安全职责,确保安全责任制在本单位全面落实,并全力支持安全工作。 2、保证公司各项安全管理制度和管理办法在本单位内全面实施,并自觉接受公司安全部门的监督和管理。 3、在确保安全的前提下组织生产,始终把安全工作放在首位,当“安全与交货期、质量”发生矛盾时,坚持安全第一的原则。 4、参加生产碰头会时,首先汇报本单位的安全生产情况和安全问题落实情况;在安排本单位生产任务时,必须安排安全工作内容,并写入记录。 5、在公司及政府的安全检查中杜绝各类违章现象。 6、组织本部门积极参加安全检查,做到有检查、有整改,记录全。 7、以身作则,不违章指挥、不违章操作。对发现的各类违章现象负有查禁的责任,同时要予以查处。 8、虚心接受员工提出的问题,杜绝不接受或盲目指挥; 9、发生事故,应立即报告主管领导,按照“四不放过”的原则召开事故分析会,提出整改措施和对责任者的处理意见,并填写事故登记表,严禁隐瞒不报或降低对责任者的处罚标准。 10、必须按规定对单位员工进行培训和新员工上岗教育; 11、严格执行公司安全生产十六项禁令,保证本单位所有人员不违章作业。 三、 安全奖惩: 1、对于全年实现安全目标的按照公司生产现场管理规定和工作说明书进行考核奖励;对于未实现安全目标的按照公司规定进行处罚。 2、每月接受主管领导指派人员对安全生产责任状的落
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服