




免费预览已结束,剩余14页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
建筑工地信息管理系统一 题目要求 建立如下四个文件(括号内为文件中每条记录得字段内容):(1) 销售商配件建筑工地(建筑商号码,配件号,工地号,数量)(2) 建筑工地(工地号,名字,城市)(3) 配件(配件号,配件名,颜色,重量,产地)(4) 销售商(号码,名字,状态,城市) 功能:(1) 首先建立文件,然后插入数据,并进行删除,更新操作,最后进行查询操作。(2) 查询与供应商所在城市相同的零件供应商,项目供应商记录对。二 需求分析 根据题目要求,由于销售商配件建筑工地,建筑工地,配件,销售商的各种信息要求以文本文件的方式存放在四个文件中,所以应提供文件的输入,输出等操作;在程序中要浏览销售商配件建筑工地,建筑工地,配件,销售商的各种信息,应提供显示,查找,增加,更新等操作;另外还应提供键盘式选择菜单实现功能选择。三 总体设计 我们来分析一下整个系统,根据上面的需求分析,可以将这个系统的设计分为如下五大模块:输入,修改,删除,查询,退出。其中输入,修改,删除,查询是四个主要功能。四 详细设计1定义结构体#include #include #include struct total char b_num20;/*销售商号码*/ char p_num20;/*配件号*/ char num20;/*工地号*/ char num220;/*销售商为工地提供配件数量*/ ; struct building char name20;/*工地名称*/ char num20;/*工地号*/ char city20;/*工地所在城市*/ ; struct peijian char p_name20;/*配件名称*/ char p_num20;/*配件号码*/ char p_colour20;/*配件颜色*/ char p_weight20;/*配件重量*/ char p_area20;/*配件产地*/ ; struct business char b_name20;/*销售商名字*/ char b_num20;/*销售商号码*/ char b_state20;/*销售状态*/ char b_city20;/*所在城市*/ ; 2. 各功能模块设计 (1)输入模块void add1(); void add2(); void add3(); void add4(); void find1(); void find2(); void find3(); void find4(); void del1(); void del2(); void del3(); void del4(); void seek1(); void seek2(); char flag=y; int n; void add1() char flag=y; struct building build; FILE *fp; if(fp=fopen(c.txt,a+b)=NULL) exit(0); while(flag=y) printf(请输入建筑工地名称:); scanf(%s,); printf(请输入建筑工地编号:); scanf(%s,build.num); printf(请输入工地所在城市:); scanf(%s,build.city); fwrite(&build,sizeof(struct building),1,fp); printf(是否继续y/n:n); scanf( %c,&flag); fclose(fp); void add2() char flag=y; struct peijian pj; FILE *fp; if(fp=fopen(d.txt,a+b)=NULL) exit(0); while(flag=y) printf(请输入配件名称:); scanf(%s,pj.p_name); printf(请输入配件编号:); scanf(%s,pj.p_num); printf(请输入配件颜色:); scanf(%s,pj.p_colour); printf(请输入配件重量:); scanf(%s,pj.p_weight); printf(请输入配件产地:); scanf(%s,pj.p_area); fwrite(&pj,sizeof(struct peijian),1,fp); printf(是否继续y/n:n); scanf( %c,&flag); fclose(fp); void add3() char flag=y; struct business bus; FILE *fp; if(fp=fopen(e.txt,a+b)=NULL) exit(0); while(flag=y) printf(请输入销售商名称:); scanf(%s,bus.b_name); printf(请输入销售商编号:); scanf(%s,bus.b_num); printf(请输入销售商状态:); scanf(%s,bus.b_state); printf(请输入销售商所在城市:); scanf(%s,bus.b_city); fwrite(&bus,sizeof(struct business),1,fp); printf(是否继续y/n:n); scanf( %c,&flag); fclose(fp); void add4() char flag=y; struct total bpb; FILE *fp; if(fp=fopen(f.txt,a+b)=NULL) exit(0); while(flag=y) printf(请输入销售商号码:); scanf(%s,bpb.b_num); printf(请输入配件编号:); scanf(%s,bpb.b_num); printf(请输入建筑工地编号:); scanf(%s,bpb.num); printf(请输入销售商为工地提供配件数量:); scanf(%s,bpb.num2); fwrite(&bpb,sizeof(struct total),1,fp); printf(是否继续y/n:n); scanf( %c,&flag); fclose(fp); void find1() FILE *fp; struct building build; char flag=y,find; char name20; if(fp=fopen(c.txt,r+w)=NULL) printf(ntThe system cant open the file!); while(flag=y) printf(请输入您要修改的建筑工地名称:); scanf(%s,name); find=n; rewind(fp); while(fread(&build,sizeof(build),1,fp)=1&find=n) if(strcmp(name,)=0) find=y; break; if(find=y) printf(建筑工地名称:%sn,); printf(建筑工地编号:%sn,build.num); printf(建筑工地所在城市:%sn,build.city); printf(请输入建筑工地名称:); scanf(%s,); printf(请输入建筑工地编号:); scanf(%s,build.num); printf(请输入建筑工地所在城市:); scanf(%s,build.city); fseek(fp,-(long)(sizeof(struct building),1);/*文件标记向下*/ fwrite(&build,sizeof(build),1,fp); printf(是否继续:);/*提示是否继续修改另一建筑工地信息*/ scanf( %c,&flag); fclose(fp); /*关闭文件*/ (2)修改模块void find2() FILE *fp; struct peijian pj; char flag=y,find; char name20; if(fp=fopen(d.txt,r+w)=NULL) printf(ntThe system cant open the file!); while(flag=y) printf(请输入您要修改的配件名称:); scanf(%s,name); find=n; rewind(fp); while(fread(&pj,sizeof(pj),1,fp)=1&find=n) if(strcmp(pj.p_name,name)=0) find=y; break; if(find=y) printf(配件名称:%sn,pj.p_name); printf(配件编号:%sn,pj.p_num); printf(配件颜色:%sn,pj.p_colour); printf(配件重量:%sn,pj.p_weight); printf(配件产地:%sn,pj.p_area); printf(请输入配件名称:); scanf(%s,pj.p_name); printf(请输入配件编号:); scanf(%s,pj.p_name); printf(请输入配件颜色:); scanf(%s,pj.p_colour); printf(请输入配件重量:); scanf(%s,pj.p_weight); printf(请输入配件产地:); scanf(%s,pj.p_name); fseek(fp,-(long)(sizeof(struct peijian),1);/*文件标记向下*/ fwrite(&pj,sizeof(pj),1,fp); printf(是否继续:);/*提示是否继续修改另一配件信息*/ scanf( %c,&flag); fclose(fp); /*关闭文件*/ void find3() FILE *fp; struct business bus; char flag=y,find; char name20; if(fp=fopen(e.txt,r+w)=NULL) printf(ntThe system cant open the file!); while(flag=y) printf(请输入您要修改的销售商名称); scanf(%s,name); find=n; rewind(fp); while(fread(&bus,sizeof(bus),1,fp)=1&find=n) if(strcmp(bus.b_name,name)=0) find=y; break; if(find=y) printf(销售商名称:%sn,bus.b_name); printf(销售商编号:%sn,bus.b_name); printf(销售商状态:%sn,bus.b_state); printf(所在城市:%sn,bus.b_city); printf(请输入名称:); scanf(%s,bus.b_name); printf(请输入编号:); scanf(%s,bus.b_num); printf(请输入状态:); scanf(%s,bus.b_state); printf(请输入所在城市名:); scanf(%s,bus.b_city); fseek(fp,-(long)(sizeof(struct business),1);/*文件标记向下*/ fwrite(&bus,sizeof(bus),1,fp); printf(是否继续:);/*提示是否继续修改另一已存用户信息*/ scanf( %c,&flag); fclose(fp); /*关闭文件*/ void find4()/*按销售商号修改*/ FILE *fp; struct total bpb; char flag=y,find; char num20; if(fp=fopen(d:/f.txt,r+w)=NULL)printf(ntThe system cant open the file!); while(flag=y) printf(请输入您要修改的对应对中销售商编号:); scanf(%s,num); find=n; rewind(fp); while(fread(&bpb,sizeof(bpb),1,fp)=1&find=n) if(strcmp(num,bpb.b_num)=0) find=y; break; if(find=y) printf(销售商编号:%sn,bpb.b_num); printf(配件编号:%sn,bpb.p_num); printf(建筑工地编号:%sn,bpb.num); printf(提供配件数量:%sn,bpb.num2); printf(请输入销售商编号:); scanf(%s,bpb.b_num); printf(请输入配件编号:); scanf(%s,bpb.p_num); printf(请输入建筑工地编号:); scanf(%s,bpb.num); printf(请输入提供配件数量:); scanf(%s,bpb.num2); fseek(fp,-(long)(sizeof(struct total),1);/*文件标记向下*/ fwrite(&bpb,sizeof(bpb),1,fp); printf(是否继续:);/*提示是否继续修改另一已存用户信息*/ scanf( %c,&flag); fclose(fp); /*关闭文件*/ (3)删除模块void del1() struct building build; FILE *fp; if(fp=fopen(c.txt,r+w)=NULL) printf(打开文件出错); char flag=y; char find=n; char mc30; char n; while(flag=y) printf(请输入您要删除的建筑工地名称:); scanf(%s,mc); rewind(fp); while(fread(&build,sizeof(build),1,fp)=1&find=n) if(strcmp(mc,)=0) find=y; break; if(find=y) printf(建筑工地名称:%sn,); printf(建筑工地编号:%sn,build.num); printf(建筑工地所在城市:%sn,build.city); printf(是否确定删除y/n:); scanf(%c,&n); if(n=y) strcpy(,); strcpy(build.num,); strcpy(build.city,); fseek(fp,-(long)(sizeof(struct building),1); fwrite(&build,sizeof(build),1,fp); printf(删除成功n); printf(是否继续删除y/n:n); scanf( %c,&flag); fclose(fp); void del2() struct peijian pj; FILE *fp; if(fp=fopen(d.txt,r+w)=NULL) printf(打开文件出错); char flag=y; char find=n; char mc30; char n; while(flag=y) printf(请输入您要删除的配件名称:); scanf(%s,mc); rewind(fp); while(fread(&pj,sizeof(pj),1,fp)=1&find=n) if(strcmp(mc,pj.p_name)=0) find=y; break; if(find=y) printf(名称:%sn,pj.p_name); printf(编号:%sn,pj.p_num); printf(颜色:%sn,pj.p_colour); printf(重量:%sn,pj.p_weight); printf(产地:%sn,pj.p_area); printf(是否确定删除y/n:); scanf(%c,&n); if(n=y) strcpy(pj.p_name,); strcpy(pj.p_num,); strcpy(pj.p_colour,); strcpy(pj.p_weight,); strcpy(pj.p_area,); fseek(fp,-(long)(sizeof(struct peijian),1); fwrite(&pj,sizeof(pj),1,fp); printf(删除成功n); printf(是否继续删除y/n:n); scanf( %c,&flag); fclose(fp); void del3() struct business bus; FILE *fp; if(fp=fopen(e.txt,r+w)=NULL) printf(打开文件出错); char flag=y; char find=n; char mc30; char n; while(flag=y) printf(请输入您要删除的销售商名称:); scanf(%s,mc); rewind(fp); while(fread(&bus,sizeof(bus),1,fp)=1&find=n) if(strcmp(mc,bus.b_name)=0) find=y; break; if(find=y) printf(销售商名称:%sn,bus.b_name); printf(销售商编号:%sn,bus.b_num); printf(销售商状态:%sn,bus.b_state); printf(销售商所在城市:%sn,bus.b_city); printf(是否确定删除y/n:); scanf(%c,&n); if(n=y) strcpy(bus.b_name,); strcpy(bus.b_num,); strcpy(bus.b_state,); strcpy(bus.b_city,); fseek(fp,-(long)(sizeof(struct business),1); fwrite(&bus,sizeof(bus),1,fp); printf(删除成功n); printf(是否继续删除y/n:n); scanf( %c,&flag); fclose(fp); void del4() struct total bpb; FILE *fp; if(fp=fopen(f.txt,r+w)=NULL) printf(打开文件出错); char flag=y; char find=n; char bh30; char n; while(flag=y) printf(请输入您要删除的销售商编号:); scanf(%s,bh); rewind(fp); while(fread(&bpb,sizeof(bpb),1,fp)=1&find=n) if(strcmp(bh,bpb.b_num)=0) find=y; break; if(find=y) printf(销售商编号:%sn,bpb.b_num); printf(配件编号:%sn,bpb.p_num); printf(建筑工地编号:%sn,bpb.num); printf(提供配件数量:%sn,bpb.num2); printf(是否确定删除y/n:); scanf(%c,&n); if(n=y) strcpy(bpb.b_num,); strcpy(bpb.p_num,); strcpy(bpb.num,); strcpy(bpb.num2,); fseek(fp,-(long)(sizeof(struct total),1); fwrite(&bpb,sizeof(bpb),1,fp); printf(删除成功n); printf(是否继续删除y/n:n); scanf( %c,&flag); fclose(fp); (4)查询模块void seek1() FILE *fp1,*fp2; struct peijian pj; struct business bus; char flag=y,seek; if(fp1=fopen(d.txt,r+w)=NULL|(fp2=fopen(e.txt,r+w)=NULL) printf(ntThe system cant open the files!); while (flag=y) seek=n; rewind(fp1); rewind(fp2); while (fread(&pj,sizeof(pj),1,fp1)=1&(fread(&bus,sizeof(bus),1,fp2)=1&seek=n) if(strcmp(pj.p_area,bus.b_city)=0) seek=y; break; if(seek=y) printf(配件名称:%sn,pj.p_name); printf(配件编号:%sn,pj.p_num); printf(配件颜色:%sn,pj.p_colour); printf(配件重量:%sn,pj.p_weight); printf(配件产地:%sn,pj.p_area); printf(名称:%sn,bus.b_name); printf(编号:%sn,bus.b_num); printf(状态:%sn,bus.b_state); printf(销售商所在城市:%sn,bus.b_city); printf(是否继续:);/*提示是否继续修改另一配件信息*/ scanf( %c,&flag); fclose(fp1); fclose(fp2);/*关闭文件*/ void seek2() FILE *fp1,*fp2; struct building build; struct business bus; char flag=y,seek; if(fp1=fopen(c.txt,r+w)=NULL|(fp2=fopen(e.txt,r+w)=NULL) printf(ntThe system cant open the files!); while (flag=y) seek=n; rewind(fp1); rewind(fp2); while (fread(&build,sizeof(build),1,fp1)=1&(fread(&bus,sizeof(bus),1,fp2)=1&seek=n) if(strcmp(build.city,bus.b_city)=0) seek=y; break; if(seek=y) printf(建筑工地名称:%sn,); printf(建筑工地编号:%sn,build.num); printf(建筑工地所在城市:%sn,&build.city); printf(名称:%sn,bus.b_name); printf(编号:%sn,bus.b_num); printf(状态:%sn,bus.b_state); printf(销售商所在城市:%sn,bus.b_city); printf(是否继续:);/*提示是否继续修改另一配件信息*/ scanf( %c,&flag); fclose(fp1); fclose(fp2); /*关闭文件*/ (5)主函数void main() printf(/*建筑工地信息管理系统*/n); printf( /*制作:张腾飞*/n); printf( /*学号:20091004402*/n); printf( /*班级:052091-35*/n); while(n!=15) printf(1.增加建筑工地信息n2.增加配件信息n3.增加销售商信息n4.增加销售商-配件-建筑工地
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 六一庆祝活动方案
- 六一活动加营销活动方案
- 六一活动童装店活动方案
- 六一活动送课活动方案
- 六一烹饪活动策划方案
- 六一社区篮球活动方案
- 六一童话世界活动方案
- 六一自助活动方案
- 六一黏土活动方案
- 六年级写班级活动方案
- GB/T 15171-1994软包装件密封性能试验方法
- GB/T 14518-1993胶粘剂的pH值测定
- 数字电路设计及verilog-hdl实现康磊课后答案
- GA/T 974.33-2011消防信息代码第33部分:起火原因分类与代码
- GA 44-2015消防头盔
- 《科学护眼爱眼共享光明未来》近视防控宣传教育课件
- 面向对象分析和设计讲座面向对象方法学PPT资料
- 《财政学》教学大纲中文版
- 高危新生儿急诊服务流程图
- “文化引导型”城市更新思想思考与实践课件
- 卷心菜中过氧化物酶热稳定性的初步研究
评论
0/150
提交评论