问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

用C语言编写一个手机电话本程序

发布网友 发布时间:2024-03-17 06:25

我来回答

1个回答

热心网友 时间:2024-03-23 02:23

#include <stdio.h> #include <stdlib.h> #include <string.h> #define szSTR 64 #define fileDB "c:\\contact.txt" struct CONTACT { char name[szSTR];/*姓名*/ char unit[szSTR];/*工作单位*/ char tele[szSTR];/*电话*/ char mail[szSTR];/*mail*/ }; typedef struct CONTACT CON; #define BNAME 1 #define BUNIT 2 #define BTELE 4 #define BMAIL 8 #define BFULL 0xFF int OPER[5] = ; void input(CON * s, int mask) { if(mask & BNAME) if(mask & BUNIT) if(mask & BTELE) if(mask & BMAIL) }/*end input*/ void show (int id, CON * s) { if(!s) return ; if(id) printf("%d\t%s\t%s\t%s\t%s\n", id, s->name , s->unit , s->tele , s->mail ); else printf("%s%s%s%s\n", s->name , s->unit , s->tele , s->mail ); /*end if*/ }/*end show*/ void regist(void) { CON s; FILE * f = 0; input(&s, BFULL); f = fopen(fileDB, "ab"); fwrite(&s,sizeof(s),1,f); fclose(f); printf("资料已保存!\n"); }/*end regist*/ int browse(char * key, fpos_t * p, CON * s) { FILE * f =0; int i = 0, r = 0; CON t; char * a = 0, * b = 0; fpos_t q; if(!s) return 0; f = fopen(fileDB, "rb"); if(!f) { printf("数据库暂无记录\n"); return 0; }/*end if*/ printf("编号\t姓名\t单位\t电话\t电邮\n"); printf("------------------------------------------------\n"); while(!feof(f)) { fgetpos(f, &q); r = fread(&t, sizeof(t), 1, f); if(r<1)break; if(t.name[0]==0) continue; if(key) { a = strstr(t.name , key); b = strstr(t.tele , key); if(a == 0 && b == 0) continue; }/*end if*/ if(p) *p = q; if(s) memcpy(s, &t, sizeof(t)); i++; show(i, &t); }/*end while*/ fclose(f); printf("------------------------------------------------\n"); return i; }/*end browse*/ fpos_t query(CON * s) { char key[szSTR]=""; fpos_t p = 0; int r = 0; printf("请输入姓名或者电话号码:"); scanf("%s", key); r = browse(key, &p, s); return r?p:-1; }/*end query*/ void clear(void) { FILE * f = 0; CON s; fpos_t p = query(&s); if(p<0) return; f = fopen(fileDB, "rb+"); fsetpos(f, &p); memset(&s, 0, sizeof(s)); fwrite(&s, sizeof(s),1, f); fclose(f); printf("记录已删除!\n"); }/*end clear*/ void modify(void) { FILE * f = 0; CON s; int cmd = 0; fpos_t p = query(&s); if(p<0) return; f = fopen(fileDB, "rb+"); fsetpos(f, &p); for(;;) { show(0, &s); printf("请选择:1-姓名;2-工作单位;3-电话;4-电邮;5-保存并退出;6-放弃修改并退出\n"); scanf("%d", &cmd); switch(cmd) { case 1: case 2: case 3: case 4: input(&s, OPER[cmd]); break; case 5: fsetpos(f, &p); fwrite(&s, sizeof(s), 1, f); case 6: fclose(f); return; default: printf("错误的操作,请重新输入。\n"); }/*end case*/ }/*mext*/ }/*end clear*/ int main(void) { int cmd = 0; CON s; for(;;) { printf("欢迎使用通信簿!请选择:1-添加;2-查询;3-删除;4-修改;5-全部输出;0-退出\n"); scanf("%d", &cmd); switch(cmd) { case 0: return 0; case 1: regist(); break; case 2: query(&s); break; case 3: clear(); break; case 4: modify(); break; case 5: browse(0, 0, &s); break; }//end case } return 0; }

记得采纳啊
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
异地伙食补助金在辞职赔偿中是否计入? 关于企业加强职工福利费财务管理的通知福利费开支的调整 考到外省异地的公务员在工资上有没有“异地补贴”这一项,就是每个月会... symantec这个是什么 什么是Symantec应用程序啊? http://service.symantec.com是个什么网站 用方砖铺地,如果用边长3分米的方砖,360块正好铺满。如果用边长6分米的... 一条人行道长360米,宽6米,要用边长是3分米的方砖铺地,铺满这条人行道需... 一九七六年农历九月十五是什么星座? ...有好几排小白点,有一个小黑点在上面乱跳,统计一分钟点中小黑点的... 如何实现我的养家日记衣锦还乡? 母亲的养家大业日记大全 公司注册一步搞定万事开头不再难 出塞体会到什么 讨教下,北京博雅明悦学校的口碑怎样? 为什么说博雅明悦是一所美丽小学? 苍南中学章思琪初中在哪读 瓷砖的锈迹怎么清理掉 谁帮我用MAYA软件转换成3dmax格式,用财富值换!!2 正版3DMAX和MAYA软件各款价格是多少55 3dmax 和maya软件里,用什么操作吃配置 广东壹瓶好久网络科技有限公司怎么样? 沈阳壹瓶好久酒水销售有限公司怎么样? 女人要不要天天化妆敷面膜呢? 皇隆匹伐他汀生物利用度高? 上午第一节课怎样才不困??? 小米激光电视怎么没了 激光电视现在能体验吗小米 养育孩子:不仅仅是教育费用 中国养娃成本的增长:不是一蹴而就 Win32.Troj.Generic.(kcloud) 麻烦大家解读一下各个部分的是什么意思... win32. troj. qqpass. e病毒如何处理 相机分为哪几类 相机分类 蕃茄炖牛肉怎么做番茄炖牛肉做法 以秒速五厘米计算,一年的时间,是多远?3 贾万新书画拍卖价格表 天津的画家都有哪些 ...雇佣的业务员用我店名义收取其他商户货款跑了,现在商户都来找我... 贾万新山水画价格 清宫后多久可以吃地屈孕酮片,地屈孕酮片停了两天药又吃的没事吧_百度... 狐狸肉的内脏能吃吗 腾达路路由器i4 连接交换机,有时有网有时没网 狐狸肉人能不能吃? ...link猫连腾达交换机和迅捷路由器。最近经常掉线,让电信来了5次了... 狐狸精能吃吗? 路由器老是掉线怎么办? 什么人不能吃狐狸肉 “秒速五厘米”的真正含义!18472 秒速五厘米结局1275 秒速五厘米的经典台词30
  • 焦点

最新推荐

猜你喜欢

热门推荐