版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上建筑工地信息管理系统一 题目要求 建立如下四个文件(括号内为文件中每条记录得字段内容):(1) 销售商配件建筑工地(建筑商号码,配件号,工地号,数量)(2) 建筑工地(工地号,名字,城市)(3) 配件(配件号,配件名,颜色,重量,产地)(4) 销售商(号码,名字,状态,城市) 功能:(1) 首先建立文件,然后插入数据,并进行删除,更新操作,最后进行查询操作。(2) 查询与供应商所在城市相同的零件供应商,项目供应商记录对。二 需求分析 根据题目要求,由于销售商配件建筑工地,建筑工地,配件,销售商的各种信息要求以文本文件的方式存放在四个文件中,所以应提供文件的输入,输出等
2、操作;在程序中要浏览销售商配件建筑工地,建筑工地,配件,销售商的各种信息,应提供显示,查找,增加,更新等操作;另外还应提供键盘式选择菜单实现功能选择。三 总体设计 我们来分析一下整个系统,根据上面的需求分析,可以将这个系统的设计分为如下五大模块:输入,修改,删除,查询,退出。其中输入,修改,删除,查询是四个主要功能。四 详细设计1定义结构体#include<stdio.h> #include<stdlib.h> #include<string.h> struct total char b_num20;/*销售商号码*/ char p_num20;/*配件号*
3、/ 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;/*
4、销售商名字*/ 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='
5、;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); p
6、rintf("请输入工地所在城市:"); 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")
7、=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); print
8、f("请输入配件产地:"); 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) ex
9、it(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(
10、&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("请输入销售商号码:"); scan
11、f("%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");
12、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 can't open the file!"); while(flag='y') printf("请输入您要修改的建筑工地名称:&qu
13、ot;); 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); print
14、f("建筑工地所在城市:%sn",build.city); printf("请输入建筑工地名称:"); scanf("%s",); printf("请输入建筑工地编号:"); scanf("%s",build.num); printf("请输入建筑工地所在城市:"); scanf("%s",build.city); fseek(fp,-(long)(sizeof(struct building),1);/*文件标记向下*/ fwrite
15、(&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 sys
16、tem can't 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(
17、"配件名称:%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("
18、;%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)
19、; 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 can't open the file!"); w
20、hile(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);
21、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",bu
22、s.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 *f
23、p; struct total bpb; char flag='y',find; char num20; if(fp=fopen("d:/f.txt","r+w")=NULL)printf("ntThe system can't open the file!"); while(flag='y') printf("请输入您要修改的对应对中销售商编号:"); scanf("%s",num); find='n' rewind(fp); while
24、(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); pr
25、intf("请输入销售商编号:"); 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);/*文件标记向
26、下*/ 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
27、 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("建筑工地名称
28、:%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,-(
29、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("打开文件出错");
30、 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') p
31、rintf("名称:%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,""
32、;); 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",&f
33、lag); 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
34、); 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"
35、,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
36、,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; whil
37、e(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&quo
38、t;,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,"");
39、 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
40、("d.txt","r+w")=NULL|(fp2=fopen("e.txt","r+w")=NULL) printf("ntThe system can't 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
41、,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&
42、quot;,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 see
43、k2() 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 can't open the files!"); while (flag='y') seek='n'
44、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&quo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《材料成形设计综合实验》实验教学大纲
- 经济贸易毕业论文:中国OFDI发展史
- 玉溪师范学院《女性社会工作》2023-2024学年第一学期期末试卷
- 2024年磷铁项目评估分析报告
- 《机械零件的三坐标检测》课程框架
- 《开发和利用资源促进园本课程建设》课题方案
- 采购合同诉讼费收费标准
- 爆破监理延期合同
- 糖尿病新生儿护理课件
- 07 C简谐运动的描述 中档版2025新课改-高中物理-选修第1册(21讲)
- 《电气接线规范》课件
- 绞窄性肠梗阻汇报演示课件
- 直肠癌放疗护理查房课件
- 2024年北京北燃实业集团招聘笔试参考题库含答案解析
- 【公开课】海水的性质课件+2023-2024学年高中地理人教版(2019)必修一+
- 《装配式建筑施工合同范本》正规范本(通用版)
- 《体育保健学》课件-第三章 运动性病症
- 模型压缩与轻量化
- 变压器铁芯(夹件)接地电流试验
- 教育类大学生职业生涯规划书
- 幼儿园中班社会科学:《拜访行道树》 课件
评论
0/150
提交评论