VC++建筑工地信息管理系统设计

上传人:feng****ing 文档编号:53558818 上传时间:2022-02-10 格式:DOC 页数:21 大小:233.50KB
收藏 版权申诉 举报 下载
VC++建筑工地信息管理系统设计_第1页
第1页 / 共21页
VC++建筑工地信息管理系统设计_第2页
第2页 / 共21页
VC++建筑工地信息管理系统设计_第3页
第3页 / 共21页
资源描述:

《VC++建筑工地信息管理系统设计》由会员分享,可在线阅读,更多相关《VC++建筑工地信息管理系统设计(21页珍藏版)》请在装配图网上搜索。

1、建筑工地信息管理系统一题目要求建立如下四个文件(括号为文件中每条记录得字段容):(1) 销售商一配件一建筑工地(建筑商,配件号,工地号,数量)(2)建筑工地(工地号,名字,城市)(3)配件(配件号,配件名,颜色,重量,产地)(4)销售商(,名字,状态,城市)功能:(1)首先建立文件,然后插入数据,并进行删除,更新操作,最后进行查询操作。(2)查询与供应商所在城市相同的零件一供应商,项目一供应商记录对。二需求分析根据题目要求,由于销售商一配件一建筑工地,建筑工地,配件,销售商的各种信息要求以文本文件的方式存放在四个文件中,所以应提供文件的输入, 输出等操作;在程序中要浏览销售商一配件一建筑工地,

2、建筑工地,配件,销售商的各种信息,应提供显示,查找, 增加,更新等操作;另外还应提供键盘式选择菜单实现功能选择。三总体设计我们来分析一下整个系统,根据上面的需求分析,可以将这个系统的设计分为如下五大 模块:输入,修改,删除,查询,退出。其中输入,修改,删除,查询是四个主要功能。 四详细设计1 定义结构体#in clude #in clude #in clude struct total char b_num20;/* 销售商 */char p_num20;/* 配件号 */char num20;/* char num220;/* ;struct buildi ngchar name20;/*c

3、har num20;/* char city20;/* ;工地号*/销售商为工地提供配件数量*/工地名称*/工地号*/工地所在城市*/struct peijia nchar p_n ame20;/*配件名称*/char p_n um20;/*配件*/char p_colour20;/*配件颜色*/char p_weight20;/*配件重量*/char p_area20;/* ;配件产地*/;struct businesschar b_n ame20;/*销售商名字*/char b_n um20;/*销售商*/char b_state20;/*销售状态*/char b_city20;/*所在城

4、市*/;2.各功能模块设计(1 )输入模块void add1();void add2();void add3();void add4();void fin d1();void fin d2();void fin d3();void fin d4();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=fope n(c.txt,a+b)=NULL)

5、 exit(0);while(flag=y)printf(”请输入建筑工地名称:”);sea nf(%s,build. name);printf(”请输入建筑工地编号:”);sea nf(%s,build. nu m);printf(”请输入工地所在城市:”);sea nf(%s,build.city);fwrite(&build,sizeof(struct buildi ng),1,fp); printf(”是否继续 y/n:n);seanf( %e,&flag);felose(fp);void add2()ehar flag=y;struet peijia n pj;FILE *fp;if

6、(fp=fope n( d.txt,a+b)=NULL)exit(0);while(flag=y)printf(”请输入配件名称:);sea nf(%s,pj.p_ name);printf(”请输入配件编号:);sea nf(%s,pj.p_ nu m);printf(”请输入配件颜色:);sea nf(%s,pj.p_colour);printf(”请输入配件重量:);sea nf(%s,pj.p_weight);printf(”请输入配件产地:);sea nf(%s,pj.p_area);fwrite(&pj,sizeof(struct peijia n),1,fp);printf(”是

7、否继续 y/n:n);seanf( %e,&flag);felose(fp); void add3()ehar flag=y; struct bus in ess bus;FILE *fp;if(fp=fope n( e.txt,a+b)=NULL)exit(0);while(flag=y)printf(”请输入销售商名称:”);sca nf(%s,bus.b_ name);printf(”请输入销售商编号:);sca nf(%s,bus.b_ nu m);printf(”请输入销售商状态:”);sca nf(%s,bus.b_state);prin tf(请输入销售商所在城市:”);sca

8、nf(%s,bus.b_city);fwrite(&bus,sizeof(struct bus in ess),1,fp);printf(”是否继续 y/n:n);scanf( %c,&flag);fclose(fp);void add4()char flag=y;struct total bpb;FILE *fp;if(fp=fope n(f.txt,a+b)=NULL)exit(0);while(flag=y)printf(请输入销售商:);sca nf(%s,bpb.b_ nu m);printf(”请输入配件编号:);sca nf(%s,bpb.b_ nu m);printf(”请输入

9、建筑工地编号:”);sca nf(%s,bpb. num);printf(”请输入销售商为工地提供配件数量:”);sca nf(%s,bpb. nu m2);fwrite(&bpb,sizeof(struct total),1,fp);printf(”是否继续 y/n:n);seanf( %c,&flag);fclose(fp);void fin d1()FILE *fp;struct building build;char flag=y,fi nd;char n ame20;if(fp=fope n(c.txt,r+w)=NULL)prin tf(ntThe system cant ope

10、n the file!); while(flag=y)printf(”请输入您要修改的建筑工地名称:”);sca nf(%s, name);fin d= n:rewi nd(fp);while(fread(&build,sizeof(build),1,fp)=1 &fin d= n) if(strcmp( name,build. name)=0)fin d=y;break;if(fin d=y)printf(建筑工地名称:%sn,build.name); printf(”建筑工地编号:%sin,build.num);printf(”建筑工地所在城市:%sn,build.city);printf

11、(”请输入建筑工地名称:);sca nf(%s,build. name);printf(”请输入建筑工地编号:”);sca nf(%s,build. nu m);prin tf(请输入建筑工地所在城市:”);文件标记向下*/sca nf(%s,build.city);fseek(fp,-(l on g)(sizeof(struct build in g),1);/* fwrite(&build,sizeof(build),1,fp);printf(”是否继续:);/*提示是否继续修改另筑工地信息*/seanf( %c,&flag);fclose(fp); /*关闭文件 */(2 )修改模块vo

12、id fin d2()FILE *fp;struct peijia n pj;char flag=y,fi nd;char n ame20;if(fp=fope n( d.txt,r+w)=NULL)prin tf(ntThe system cant ope n the file!);while(flag=y)printf(”请输入您要修改的配件名称:”);sca nf(%s, name);fin d= n:rewi nd(fp);while(fread(&pj,sizeof(pj),1,fp)=1 &fin d= n)if(strcmp(pj.p _n ame, name)=0)fin d=

13、y;break;if(fin d=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(”请输入配件名称:);sca nf(%s,pj.p_ name);printf(”请输入配件编号:);sca nf(%s,pj.p_ name);printf(”请输入配件颜色:”);sea nf(%s,pj.p_colour);printf(”请输入配件重量:);s

14、ea nf(%s,pj.p_weight);printf(”请输入配件产地:);sca nf(%s,pj.p_ name);fseek(fp,-(long)(sizeof(struct peijian),1);/*文件标记向下 */fwrite(&pj,sizeof(pj),1,fp);printf(是否继续:);/*提示是否继续修改另一配件信息*/scanf( %c,&flag);fclose(fp); /* 关闭文件 */void fin d3()FILE *fp;struct bus in ess bus;char flag=y,fi nd;char n ame20;if(fp=fope

15、 n( e.txt,r+w)=NULL)prin tf(ntThe system cant ope n the file!);while(flag=y)prin tf(请输入您要修改的销售商名称);sca nf(%s, name);fin d= n;rewi nd(fp);while(fread(&bus,sizeof(bus),1,fp)=1 &fin d= n)if(strcmp(bus.b_ name ,n ame)=0)fin d=y;break;if(fin d=y)printf( 销售商名称:%sn,bus.b_name);printf(销售商编号:%sn,bus.b_name);

16、printf(”销售商状态:%sn,bus.b_state);printf(所在城市:%sn,bus.b_city);printf(请输入名称:);sca nf(%s,bus.b_ name);printf(请输入编号:);sca nf(%s,bus.b_ nu m);printf(请输入状态:);sca nf(%s,bus.b_state);printf(”请输入所在城市名:);sca nf(%s,bus.b_city);fseek(fp,-(lo ng)(sizeof(struct bus in ess),1);/*文件标记向下 */fwrite(&bus,sizeof(bus),1,fp

17、);printf(是否继续:);/*提示是否继续修改另一已存用户信息*/scanf( %c,&flag);fclose(fp); /*关闭文件 */void find4()/*按销售商号修改*/FILE *fp;struct total bpb;char flag=y,fi nd;char num20;if(fp=fope n(d:/f.txt,r+w)=NULL)prin tf(ntThe system cant ope n the file!);while(flag=y)prin tf(请输入您要修改的对应对中销售商编号:”);sca nf(%s, num);fin d= n;rewi n

18、d(fp);while(fread(&bpb,sizeof(bpb),1,fp)=1 &fin d= n)if(strcmp( nu m,bpb.b_ num)=0)fin d=y;break;if(fin d=y)printf(”销售商编号:%sn,bpb.b_num);printf(配件编号:%sn,bpb.p_num); printf(”建筑工地编号:%sin”,bpb.num);printf(”提供配件数量:%sin,bpb.num2);printf(”请输入销售商编号:);sca nf(%s,bpb.b_ nu m);printf(”请输入配件编号:);sca nf(%s,bpb.p

19、_ nu m);printf(”请输入建筑工地编号:”);sca nf(%s,bpb. num);printf(”请输入提供配件数量:”);sca nf(%s,bpb. nu m2);文件标记向下*/已存用户信息 */fseek(fp,-(lo ng)(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

20、(fp=fope n( c.txt,r+w)=NULL)printf(打开文件出错);char flag=y;char find=n;char mc30;char n;while(flag=y)prin tf(请输入您要删除的建筑工地名称:”);sca nf(%s,mc);rewi nd(fp);while(fread(&build,sizeof(build),1,fp)=1 &fin d= n) if(strcmp(mc,build. name)=0)fin d=y;break;if(fin d=y)printf(建筑工地名称:%sn,build.name);printf(建筑工地编号:%s

21、n,build.num);prin tf(建筑工地所在城市:%sin ,build.city);printf(”是否确定删除y/n:);sca nf(%c, &n);if(n=y)strcpy(build. name,);strcpy(build .nu m,);strcpy(build.city,);fseek(fp,-(l on g)(sizeof(struct build in g),1);fwrite(& build,sizeof(build),1,fp);printf(删除成功 n);printf(”是否继续删除y/n:n);scanf( %c,&flag);fclose(fp);v

22、oid del2()struct peijia n pj;FILE *fp;if(fp=fope n(d.txt,r+w)=NULL)printf(打开文件出错);char flag=y;char find=n;char mc30;char n;while(flag=y)prin tf(请输入您要删除的配件名称:”);scan f(%s,mc);rewi nd(fp);while(fread(&pj,sizeof(pj),1,fp)=1 &fin d= n) if(strcmp(mc,pj.p _n ame)=0)fin d=y; break; if(fin d=y) printf(” pri

23、ntf(” printf(” printf(” printf(” printf(”名称 编号 颜色 重量 产地%sn,pj.p _n ame); %sn,pj.p _nu m); %sn,pj.p_colour); %sn,pj.p_weight); %sn,pj.p_area);是否确定删除y/n:);sca nf(%c, &n); if(n=y) strcpy(pj.p_ name,); strcpy(pj.p_ nu m,); strcpy(pj.p_colour,); strcpy(pj.p_weight,); strcpy(pj.p_area,); fseek(fp,-(l on g

24、)(sizeof(struct peijia n),1); fwrite(&pj,sizeof(pj),1,fp); printf(删除成功 n);printf(”是否继续删除y/n:n);scanf( %c,&flag); fclose(fp); void del3() struct bus in ess bus; FILE *fp;if(fp=fope n(e.txt,r+w)=NULL) printf(打开文件出错);char flag=y; char find=n; char mc30;char n;while(flag=y)prin tf(请输入您要删除的销售商名称:”);scan

25、f(%s,mc);rewi nd(fp);while(fread(&bus,sizeof(bus),1,fp)=1 &fin d= n) if(strcmp(mc,bus.b_ name)=O)fin d=y;break;if(fin d=y)printf(销售商名称:%sn,bus.b_name);printf(销售商编号:%sn,bus.b_num);printf(销售商状态:%sn,bus.b_state);prin tf(销售商所在城市:%sn,bus.b_city);printf(”是否确定删除y/n:);sca nf(%c, &n);if(n=y)strcpy(bus.b_ nam

26、e,);strcpy(bus.b_ num,);strcpy(bus.b_state,);strcpy(bus.b_city,);fseek(fp,-(l on g)(sizeof(struct bus in ess),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=fope n( f.txt,r+w)=NULL)printf(”打开文件出错”);char flag

27、=y:char find=n:char bh30;char n;while(flag=y)prin tf(请输入您要删除的销售商编号:);scan f(%s,bh);rewi nd(fp);while(fread(&bpb,sizeof(bpb),1,fp)=1 &fin d= n) if(strcmp(bh,bpb.b_ num)=O)fin d=y;break;if(fin d=y)printf(销售商编号:sn,bpb.b_num);printf(配件编号:%sn,bpb.p_num);printf(”建筑工地编号:sn,bpb.num);printf(提供配件数量:%sn,bpb.nu

28、m2); printf(”是否确定删除y/n:);sca nf(%c, &n);if(n=y)strcpy(bpb.b_ num,);strcpy(bpb.p_ num,); strcpy(bpb. num,);strcpy(bpb. nu m2,);fseek(fp,-(l on g)(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;st

29、ruct peijia n pj;struct bus in ess bus;char flag=y,seek;if(fp 1=fope n(d.txt,r+w)=NULL|(fp2=fope n( e.txt,r+w)=NULL)prin tf(ntThe system cant ope n the files!);while (flag=y)seek=n:rewi nd(fp1);rewin d(fp2);while(fread(&pj,sizeof(pj),1,fp1)=1 &(fread(&bus,sizeof(bus),1,fp2)=1 &seek=n)if(strcmp(pj.p_

30、area,bus.b_city)=O)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);prin tf(编号:%sn,bus.b_num);printf(”状态:%sn,bus.b_state);printf(销售商所在城市:sn,bus.b_city);printf(

31、是否继续:);/*提示是否继续修改另一配件信息*/scanf( %c,&flag);fclose(fp1);fclose(fp2);/*关闭文件 */void seek2()FILE *fp1,*fp2;struct building build;struct bus in ess bus;char flag=y,seek;if(fp 仁fope n( c.txt,r+w)=NULL|(fp2=fope n(e.txt,r+w)=NULL) prin tf(ntThe system cant ope n the files!);while (flag=y)seek=n:rewi nd(fp1)

32、;rewin d(fp2);while(fread(&build,sizeof(build),1,fp1)=1 &(fread(&bus,sizeof(bus),1,fp2)=1 &se ek= n)if(strcmp(build.city,bus.b_city)=O)seek=y:break;if(seek=y)printf(建筑工地名称:sn,build.name);printf(”建筑工地编号:sn,build.num);prin tf(建筑工地所在城市:%sn, &build.city);printf(”名称:%sn,bus.b_name);prin tf(编号:%sn,bus.b_n

33、um);printf(”状态:%sn,bus.b_state);printf(销售商所在城市:sn,bus.b_city);printf(是否继续:);/*提示是否继续修改另一配件信息*/scanf( %c,&flag);fclose(fp1);fclose(fp2); /*关闭文件 */(5)主函数 void mai n()prin tf(/* *八n);printf(*/n);printf(*理系统腾 飞学,号亠:*/n);伽“);printf(”级.052091 35* while (n !=15) printf(1. 增加建筑工地信息n2增加配件信息n3.增加销售商信息n4.增加销售商

34、-配件-建筑工地信息n5.修改建筑工地信息n6.修改配件信息n7.修改销售商信息n8.修改销售商-配件-建筑工地信息n9.删除建筑工地信息n10.删除配件信息n11.删除销售商信息 n12.删除销售商-配件-建筑工地信息n 13.查询与供应商所在城市相同的零件-供应商记录对n14.查询与供应商所在城市相同的项目-供应商记录对n 15.退出系统n请选择:);sea nf(%d,&n);if(n=1)add1();else if(n=2) add2();else if(n=3) add3();else if(n=4) add4();else if(n=5) fin d1();else if(n=6

35、)fin d2();else if(n=7)fin d3();else if(n=8) fin d4();else if(n=9) del1();else if(n=10) del2();else if(n=11) del3();else if(n=12) del4();else if(n=13) seek1();else if(n=14) seek2();五上机操作(1)主菜单函数IQglFiHT曽 AHD 31TTIKSkAH13K-皿咬一-CH三S U.二 L 却T-.I -Ehh H-T矗f i詁 felt 飞* :畫*令丄聲囱宁腎(3)数据输入模块在主界面出现后,若选择输入1并按【E

36、nter】键,即输入建筑工地信息,结果如下图。若选择输入2并按【Enter】键,即输入配件信息,结果如下图。若选择输入3并按【Enter】键,即输入销售商信息,结果如下图。若选择输入4并按【Enter】键,即输入销售商一配件一建筑工地,结果见下图。b聞2 : i :2也爲 円h扁匸 号弧为 星工商: 佳少 :4销配建襲 拝入入入1A继 =.H炷月主.R主.R主目曰疋右选择输入5按【Enter】键,即修改建筑工地信息,结果见下图。要名鴛“蓉蚪巩:n 汚你地地建建建统 择入住住工入入入继 &SM8UFE土冃青土竺專号在工工工b岛C :釈#-在!&-濟地地若选择输入6按【Enter】键,即修改配件信

37、息。等等.若选择输入9按【Enter】键,即删除建筑工地信息,结果见下图。键,即删除配件信息。等等的 市: 除:a:h城财 gv-在除帯 :9饰範地地定续 ,入工工工确继 麓sia巩否否【Enter】若选择输入10按右选择输入13按【Enter】键,即查询与供应商所在城市相同的零件一供应商记录对的信息, 结果见下图。u-ir.評黑破丄議證r*:肚 芝程却1r兰至即佶:*;!曲一 韵銷建至诣铝=01占畀自自若选择输入14按【Enter】键,即查询与供应商所在城市相同的项目一供应商记录对的信息, 结果见下图。六总结通过此次C语言课程设计的学习, 我知道自己在 C语言领域还有许多的不懂之处,但我并没有气馁,通过和同学的相互探讨, 使我对C语言有了深入的了解, 我掌握了模块化设计方 法,理解和运用结构化程设计的思想和方法。初步掌握了设计一个小型实用系统的基本方法,学会调试较长的程序,进一步提高了运用C语言进行程序设计的能力。程序虽然基本完成了,但我知道仍有一些地方需要完善。虽然不尽完美,但我认为这次C语言课程设计起到了加深我对C语言的理解的作用,所以,这次 C语言课程设计还是比较成功的。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!