课程设计通讯录管理系统
更新时间:2024-06-25 08:31:01 阅读量: 综合文库 文档下载
#include
struct record//定义结构体,记录 {
char name[20]; char phone[20]; char adress[40]; char postcode[10]; char e_mail[30]; }student[500];
int num=0; FILE *fp;
int menu_select(); int adduser(); int list(); int search(); int display(); int add();
int listbyname(); int dele(); int save(); int exit();
int main()//主函数 { system(\ system(\清屏 for(;;) {
switch(menu_select()) {
case 0:adduser();break; case 1:list();break; case 2:search();break; case 3:display();break; case 4:add();break;
case 5:listbyname();break;
case 6:dele();break; case 7:save();break; case 8:exit(0); } }
return 0; }
int menu_select()//目录选择 { char s[80]; int a;
printf(\ getch(); system(\
printf(\ 通讯录管理系统\\n\
printf(\ printf(\ 0. 输入记录\\n\ printf(\ 1. 显示记录 \\n\ printf(\ 2. 按姓名查找\\n\ printf(\ 3. 按电话号码查找\\n\ printf(\ 4. 插入记录 \\n\ printf(\ 5. 按姓名排序\\n\ printf(\ 6. 删除记录\\n\ printf(\ 7. 记录保存文件\\n\ printf(\ 8. Quit\\n\
printf(\ do { printf(\ scanf(\
a=atoi(s);//将字符型转化为整形 }
while(a<0||a>8); return a; }
int adduser()//输入记录 { printf(\请输入用户信息 **************\\n\ printf(\输入姓名:\
scanf(\ printf(\输入电话号码:\
scanf(\ printf(\输入地址:\
scanf(\ printf(\输入邮编:\
scanf(\ printf(\输入e-mail:\
scanf(\ num++;
printf(\是否继续添加?(Y/N):\ if(getch()=='y') adduser(); return 0; }
int list()//显示记录 { int i;
system(\ if(num!=0) { printf(\以下为通讯录所有信息************\ for(i=0;i printf(\姓名: %s\ printf(\电话: %s\ printf(\地址: %s\ printf(\邮编: %s\ printf(\:%s\ printf(\ if(i+1 printf(\ } else printf(\通讯录中无任何纪录\ printf(\按任意键返回主菜单:\ getch(); return 0; } int search()//按姓名查找 { int mark=0;//用来判断搜索是否有结果 int i; int a=0; printf(\按姓名查找 *******************\ char name[20]; printf(\请输入姓名:\ scanf(\ for(i=a;i if(strcmp(student[i].name,name)==0)//比较字符串是否相等 { printf(\以下是您查找的用户信息 ***********\ printf(\姓名: %s\ printf(\电话: %s\ printf(\地址: %s\ printf(\:%s\ printf(\ mark++; if((i+1) printf(\是否继续查找相同名字的用户信息:(y/n)\ if(getch()=='y') { a=i; continue; } else return 0; } else { printf(\按任意键返回主菜单\ getch(); return 0; } } } if(mark!=0) { printf(\没有相同姓名的用户纪录\ printf(\按任意键返回主菜单\ getch(); return 0; } else { printf(\没有相同姓名的用户纪录\ printf(\按任意键返回主菜单\ getch(); return 0; } } int display()//按电话号码查找,与按姓名查找相同 { int mark=0; int i; int a=0; printf(\按电话查找 ******************\ char phone[20]; printf(\请输入电话号码:\ scanf(\ for(i=0;i printf(\ printf(\按任意键返回主菜单:\ mark++; getch(); return 0; } } if(mark==0) { printf(\没有该用户的信息\ printf(\按任意键返回主菜单\ getch(); return 0; } return 0; } int add()//插入记录 { int i; if((fp=fopen(\打开文件 文件指针名=fopen(文件名,使用文件方式); { printf(\文件打开失败\ } for(i=0;i if(fwrite(&student[i],sizeof(struct record),1,fp)!=1)//将数据写入文件 { printf(\写入文件错误!\\n\ } printf(\请输入用户信息 ****************\\n\ printf(\输入姓名:\ scanf(\ printf(\输入电话号码:\ scanf(\ printf(\输入地址:\ scanf(\ printf(\输入邮编:\ scanf(\ printf(\输入e-mail:\ scanf(\ num++; printf(\是否继续添加?(Y/N):\ if(getch()=='y') adduser(); return 0; } fclose(fp);//关闭打开文件 printf(\通讯录文件已保存\ printf(\按任意键退出程序\\n\\t\\t\ exit(0); return 0; } int deletebyphone()//按电话号码删除 { int i,j; int deletemark=0; char phone[20]; printf(\请输入要删除用户电话号码:\ scanf(\ if(num==0) { printf(\对不起,文件中无任何纪录\ printf(\按任意键返回主菜单\ getch(); return 0; } for(i=0;i printf(\以下是您要删除的用户纪录:\ printf(\姓名: %s\ printf(\电话: %s\ printf(\地址: %s\ printf(\:%s\ printf(\是否删除?(y/n)\ if(getch()=='y') { for(j=i;j deletemark++; printf(\删除成功\ printf(\是否继续删除?(y/n)\ if(getch()=='y') deletebyphone(); return 0; } else return 0; } continue; } if(deletemark==0) { printf(\没有该用户的纪录\ printf(\是否继续删除?(y/n)\ if (getch()=='y') deletebyphone(); return 0; } } int deletebyname()//按姓名删除,与按电话号码删除相同 { int a=0; int findmark=0; int j; int deletemark=0; int i; char name[20]; printf(\请输入要删除用户姓名:\ scanf(\ for(i=a;i printf(\ printf(\姓名: %s\ printf(\电话: %s\ printf(\地址: %s\ printf(\:%s\ printf(\ printf(\是否删除?(y/n)\ if(getch()=='y') { for(j=i;j deletemark++; printf(\删除成功\ if((i+1) continue; } } printf(\是否继续删除?(y/n)\ if(getch()=='y') deletebyname(); return 0; } if((i+1) { a=i; continue; } } } else continue; } if((deletemark==0)&&(findmark==0)) { printf(\没有该用户的纪录\ printf(\是否继续删除?(y/n)\ if(getch()=='y') deletebyphone(); return 0; } else if(findmark!=0) { printf(\没有重名信息\ printf(\没有该用户的纪录\ printf(\是否继续删除?(y/n)\ if(getch()=='y') deletebyphone(); return 0; } } int dele()//删除记录 { char choic; printf(\按电话号码删除 2-按姓名删除\ printf(\请选择:\ choic=getch(); switch(choic) { case '1':deletebyphone();break; case '2':deletebyname();break; } return 0; } int listbyname()//按姓名升序排序 { int i,j; struct record tmp; for (i=1;i }while((strcmp(tmp.name,student[j].name)<0&&j>=0)); student[j+1]=tmp; } } printf(\排序成功,是否显示?(y/n)\ if(getch()=='y') list(); return 0; } int save()//保存文件 { int j; FILE*fp; fp=fopen(\ if(fp==NULL) printf(\ if(num!=0) { for(j=0;j printf(\保存成功!\ fclose(fp); return 0; }
正在阅读:
课程设计通讯录管理系统06-25
厦门会计从业资格无纸化考试新大纲主要经济业务事项账务处理考前冲刺试题-厦门会计之家10-28
一年级数学小猴学钓鱼01-13
2018年安全隐患排查治理方案 - 图文04-08
项目经理岗位职责范本03-16
西部地区高校电子信息工程专业的建设与发展研究总报告(夏定元 桂林电子科技大学)08-10
配件部进货销售及配件出入库基本流程12-08
城市空间结构增长原理_张京祥08-07
任发改委副主任挂职锻炼工作总结09-27
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 管理系统
- 通讯录
- 课程
- 设计
- 国贸答案汇总之单项选择题
- 勾股定理(2)doc
- 中国空气净化产品行业市场前景分析预测报告(目录) - 图文
- 自制蓝莓冻芝士蛋糕
- 楼书初稿
- NBA篮球文化的认识论进路刍议
- 最高人民法院关于流质流押合同条款裁判规则汇编
- 2017-2023年中国制粒干燥设备市场动态监测及竞争战略研究报告(
- 西方心理学的历史与体系
- 2011年度培训计划编制实施方案 - 图文
- 计算机组成原理_唐朔飞_习题解答
- 西门子S7-400FH故障安全型控制系统在锅炉安全监控系统上的应用
- 计算机应用基础(一)》理论习题集
- 2017年山东高考古诗文必背90篇理解性(情景式)默写便携手册
- BSL-1、BSL-2实验室基本要求
- 大通五中开展党的群众路线教育实践活动动员会简报 - 图文
- H7N9
- 2006年二级建造师《法律法规》真题
- 1-1.5岁宝宝的食谱
- 九年物理阶段性训练二十