建筑工地信息管理系统课程设计报告7368.docx

上传人:you****now 文档编号:68854939 上传时间:2022-12-30 格式:DOCX 页数:58 大小:268.19KB
返回 下载 相关 举报
建筑工地信息管理系统课程设计报告7368.docx_第1页
第1页 / 共58页
建筑工地信息管理系统课程设计报告7368.docx_第2页
第2页 / 共58页
点击查看更多>>
资源描述

《建筑工地信息管理系统课程设计报告7368.docx》由会员分享,可在线阅读,更多相关《建筑工地信息管理系统课程设计报告7368.docx(58页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Evaluation Warning: The document was created with Spire.Doc for .NET. C语言课程设计 名称:建筑筑工地信信息管理理系统 学学院:工工程学院院 班级:00550071-30姓名:文富富奎学号:200071100338899指导老师:刘文中中前言课程设计目目的:CC语言编编程实践践是学习习C语言言的一个个重要环环节,为为提高学学生的程程序设计计能力,通通过课堂堂和上机机实践使使学生的的程序设设计能力力有一个个上升的的台阶。通通过前四四单元的的温故而而知新、庖庖丁解牛牛、举一一反三、熟熟能生巧巧等过程程的练习习之后能能够解决决一些

2、简简单的实实际问题题。1、 题目要求设计:“建建筑工地地信息管管理系统统”建立如下44个文件件(括号号内为文文件中每每条记录录的字段段内容):(1) 销售商-配配件-建建筑工地地 (销销售商号号码,配配件号,工工地号,数数量)(2) 建筑工地 (工地地号,名名字,城城市)(3) 配件 (配配件号,配配件名,颜颜色,重重量,产产地)(4) 销售商 (号号码,名名字,状状态,城城市)功能:(1) 首先建立文文件,然然后插入入数据,并并进行删删除、更更新操作作,最后后进行查查询操作作。(2) 查询与供应应商所在在城市相相同的零零件供应商商,项目目供应应商记录录对。 2、分析析 根据题目目要求,建建立

3、文件件,应选选择结构构体数组组来存放放数据,再再定义一一个全局局变量和和文件指指针进行行程序的的运行,然然后把数数据信息息存入文文件中,所所以要提提供结构构体和文文件的输输入输出出等操作作;在程程序中要要进行数数据的插插入、删删除、更更新、查查询等操操作,所所以需要要建立相相应的模模块来实实现,为为简便起起见,还还应建立立一个主主菜单,在在每个模模块中建建立相应应的副菜菜单;另另外,还还要提供供键盘式式选择菜菜单来实实现选择择功能,使使程序在在运行时时达到要要求。 3、总总体设计计根据题目要要求,可可以将系系统分为为:1) 插入数据模模块;2) 删除模块;3) 查询模块;4) 查找配对;5)

4、功能选择菜菜建筑工地信息管理系统 查 找 配对 模块删除模块查询模块数据输入模块 功能 选 择 菜 单 图11 系统功功能模块块图 44、详细细设计一、主函数数【分析】 主函数数一般设设计得比比较简便便,只提提供输入入、处理理和输出出部分的的函数调调用。其其中各功功能模块块用菜单单方式选选择。其其流程图图:开始显示一系列功能选择输入n,判断w 是否是0到4?根据n值调用各功能模块函数结束N 图2 主主函数流流程图 【程程序】/*主主菜单*/ voidd meenu() int n,ww; /*变量量n保存存选择菜菜单数字字,w判判断输入入的数字字是否在在功能菜菜单对应应数字范范围内*/ do

5、puuts(ttt*建筑工工地信息息管理*nn); putss(姓姓名:文文富奎); putss(学学号:220077100038889); putss(班班学号:05550711-300); putss(ttt*MEENU*nn); putss(ttttt1.输入);/*输入入*/ putss(ttttt2.删除);/*删除除*/ putss(ttttt3.查找);/*查找找*/ putss(ttttt4.配对);/*查找找配对*/ putss(ttttt5.Exiit); putss(nnntt*n); prinntf(Chhoosse yyourr nuumbeer (1-55): bb

6、b); scannf(%d,&nn); if(nn5) w=1; getccharr(); eelsee w=0; whille(ww=11); swittch(n) ccasee 1:entter();bbreaak; casee 2:delletee();breeak; casee 3:seaarchh();breeak; casee 4:seaarchh2();brreakk; casee 5:exiit(00); main() menu(); 二、各功能能模块设设计(1)数据据输入模模块【分析】 数据据信息存存放在文文件中,用用结构体体存放,方方便数据据输入与与数据的的保存。另另外,输

7、输入模块块中建立立副菜单单,用以以输入四四个文件件的信息息选项。开始输入用户信息是否继续进行? 结束返回主菜单Y 图33 数据输输入模块块流程图图【程序】/*数据据输入模模块*/ void sall_ennterr() intt j; char c22; FILE *fpp; if(fp=foppen(daata11.txxt,w)=NUULL) printtf(Cann noot oopenn thhe ffilee!nn); exit(0); for(jj=0;jii;j+) fwritte(&sallj,siizeoof(sstruuct salle),1,ffp); whilee(1)

8、 printtf(输入销销售商号号码:n); scanff(%d,&saalii.nnum11); printtf(输入配配件号码码:nn); scanff(%d,&saalii.nnum22); printtf(输入工工地号码码:nn); scanff(%d,&saalii.nnum33); printtf(输入数数量r:n); scanff(%d,&saalii.nnum44); if(fwwritte(&salli+,sizzeoff(sttrucct ssalee),11,fpp)!=1) printtf(Fille wwritte eerroornn); else priintff(

9、SSucccesssfull!nn); printtf(是否继继续?( 是y/否nn) n); scanff(%s,c); if(sttrcmmp(cc,nn)=0)breeak; fclosse(ffp);mennu(); voidd buuildd_ennterr() innt jj; char c22; FILE *fpp; if(fp=foppen(daata22.txxt,w)=NUULL) printtf(Cann noot oopenn thhe ffilee!nn); exit(0); for(jj=0;jii;j+) fwritte(&buiildj,sizzeoff(stt

10、rucct bbuilldinng),1,ffp); whilee(1) printtf(输入工工地号:n); scanff(%d,&buuilddi.nuum); printtf(输入工工地名:n); scanff(%s,buiildi.namme); printtf(输入工工地城市市:nn); scanff(%s,buiildi.citty); if(fwwritte(&buiildi+,ssizeeof(strructt buuilddingg),11,fpp)!=1) printtf(Fille wwritte eerroornn); else priintff(SSucccesssf

11、ull!nn); printtf(Is theere anyy moore?( YYesy/Non) nn); scanff(%s,c); if(sttrcmmp(cc,nn)=0)breeak; fclosse(ffp);mennu(); voidd pjj_ennterr() intt j; char c22; FILE *fpp; if(fp=foppen(daata33.txxt,w)=NUULL) printtf(Cann noot oopenn thhe ffilee!nn); exit(0); for(jj=0;jii;j+) fwritte(&pjj,sizzeoff(sttr

12、ucct ppeijjiann),11,fpp); whille(11) printtf(输入配配件号:n); scanff(%d,&pjji.nuum); printtf(输入配配件名:n); scanff(%s,pji.namme); printtf(输入配配件颜色色:nn); scanff(%s,pji.collor); printtf(输入配配件重量量:nn); scanff(%d,&pjji.weeighht); printtf(输入配配件产地地:nn); scanff(%s,pji.areea); if(fwwritte(&pji+,ssizeeof(strructt peeiji

13、ian),1,fp)!=11) printtf(Fille wwritte eerroornn); else priintff(SSucccesssfull!nn); printtf(Is theere anyy moore?( YYesy/Non) nn); scanff(%s,c); if(sttrcmmp(cc,nn)=0)breeak; fclosse(ffp);mennu(); voidd SEET_eenteer () innt jj; char c22; FILE *fpp; if(fp=foppen(daata44.txxt,w)=NUULL) printtf(Cann noo

14、t oopenn thhe ffilee!nn); exit(0); for(jj=0;jii;j+) fwritte(&sellj,siizeoof(sstruuct selllerr),11,fpp); whilee(1) printtf(输入销销售商号号:nn); scanff(%d,&seelii.nnum); printtf(输入销销售商名名:nn); scanff(%s,selli.naame); printtf(输入销销售商状状态:n); scanff(%s,selli.sttatee); printtf(输入销销售商所所在城市市:nn); scanff(%s,selli.cii

15、ty); if(fwwritte(&selli+,sizzeoff(sttrucct sselller),1,fp)!=11) printtf(Fille wwritte eerroornn); else priintff(SSucccesssfull!nn); printtf(Is theere anyy moore?( YYesy/Non) nn); scanff(%s,c); if(sttrcmmp(cc,nn)=0)breeak; fclosse(ffp);mennu(); void entter() intt t,m; do putss(ttt*MENNU*nnn); puts(tt

16、tttt1.ssal_entter neww daata); puts(tttttt2.bbuilld_eenteer nnew datta); puts(tttttt3.ppj_eenteer nnew datta); /*输入菜菜单*/ puts(tttttt4.SSET_entter neww daata); puts(tttttt5.EExitt); puts(nnnttt *n); printtf(Chooosee thhe nnumbber(1-55): bbb); scanff(%d,&m); if(m55) t=11; getchhar(); else t=00; whille

17、(tt=11); swittch(m) casee 1:sall_ennterr();breeak; casee 2:buiild_entter();bbreaak; casee 3:pj_entter();bbreaak; casee 4:SETT_ennterr();breeak; casee 5:mennu(); (2) 删除模块【分析】 建立立副菜单单,选择择要删除除的是哪哪个文件件中的信信息,输输入相应应的信息息,找到到数据将将其删除除。一般般的做法法是将数数据从文文件中删删除,删删除位置置后面的的记录往往前移。模模块如: 开始输入要删除的数据是否找到?删除数据显示成功显示没有找到Y

18、结束图4 删除模模块流程程图【程序】/*删删除模块块*/ void sall_deelette()int j,vv; int ww; FILE *fpp; printtf(请输入入要删除除的销售售商号码码:); scanff(%d,&w); fp=foopenn(ddataa1.ttxt,rrb); for(jj=0;j1100;j+) if(frreadd(&ssalj,sizzeoff(sttrucct ssalee),11,fpp)!=1) breeak; v=j; for(jj=0;jvv;j+) if(ww=ssalj.numm1) priintff(项项目号,销销售商号号码,配配件

19、号,工工地号,数数量:n); priintff(%d %d %d %d %d,sallj.nuum,ssalj.numm1,ssalj.numm2,ssalj.numm3,ssalj.numm4);forr(i=j;iiv;i+) ssalj=sallj+;priintff(删删除成功功);else priintff(CCannnot finnd tthe datta!);menu(); fclosse(ffp); voidd buuildd_deelette() int j,vv; int w; FILE *fpp; printtf(请输入入要删除除的工地地号:); scanff(%d,&w

20、); fp=foopenn(ddataa2.ttxt,rrb); for(jj=0;j1100;j+) if(frreadd(&bbuilldjj,ssizeeof(strructt buuilddingg),11,fpp)!=1) breeak; v=j; for(jj=0;jvv;j+) if(w=buuilddj.nuum) prinntf(工地地号,工工地名,城市名名:nn);priintff(%d %s %s,buiildj.numm, bbuilldjj.nnamee,buuilddj.ciity);prrinttf(删除成成功);else priintff(CCannnot fi

21、nnd tthe datta!);mmenuu(); fclosse(ffp); menu(); voidd pjj_deelette() int j,vv; int w; FILE *fpp; printtf(请输入入要删除除的配件件号:); scanff(%d,&w); fp=foopenn(ddataa3.ttxt,rrb); for(jj=0;j1100;j+) if(frreadd(&ppjjj,ssizeeof(strructt peeijiian),1,fp)!=11) bbreaak; v=j; for(jj=0;jvv;j+) if(w=pjjj.nuum) prinntf(

22、 配件号号,配件件名,颜颜色,重重量,产产地:n);prrinttf(%d %s %s %d %s,pjjj.nuum,ppjjj.nnamee,pjjj.coolorr,pjjj.weeighht,ppjjj.aareaa);pprinntf(删除除成功); elsee prrinttf(Cannnott fiind thee daata!);mennu(); fclosse(ffp); menu(); voidd SEET_ddeleete () int j,vv,c; int w; FILE *fpp; printtf(请输入入号码:); scanff(%d,&w); fp=foopen

23、n(ddataa4.ttxt,rrb); for(jj=0;j1100;j+) if(frreadd(&sselj,sizzeoff(sttrucct sselller),1,fp)!=11) bbreaak; v=j; for(jj=0;jvv;j+) if(w=seeljj.nnum) prinntf( 销售商商号码,销售商商名字,状态,城市: nn);priintff(%d %s %s %s,sellj.nuum,sselj.namme,sselj.staate,sellj.ciity);prrinttf(删除成成功); elsee prrinttf(Cannnott fiind the

24、e daata!);mennu(); fclosse(ffp); menu(); voidd deelette() intt t,m; do putss(ttt*MENNU*nnn); puts(tttttt1.ssal_delletee neew ddataa); puts(tttttt2.bbuilld_ddeleete neww daata); puts(tttttt3.ppj_ddeleete neww daata); /*删除除菜单*/ puts(tttttt4.SSET_delletee neew ddataa); puts(tttttt5.EExitt); puts(nnnttt

25、 *n); printtf(Chooosee thhe nnumbber(1-55): bbb); scanff(%d,&m); if(m55) t=11; getchhar(); else t=00; whille(tt=11); swittch(m) casee 1:sall_deelette();brreakk; casee 2:buiild_delletee();breeak; casee 3:pj_delletee();breeak; casee 4:SETT_deelette ();bbreaak; casee 5:mennu(); (3) 查找模块【分析】 选择择查找方方式,输输

26、入相应应的数据据然后找找出对应应的数据据。模块块流程图图:开始输入查找的方式:1)项目号;2)工地号;3)配件号;4)销售商号是否找到?显示找到的记录提示没找到Y结束Y是否继续查找?返回主菜单 图5 查找找模块流流程图【程序】/*查找找模块*/ void seaarchh() int fflagg,j,x; int ww,v,z,yy; FILE *fpp; priintff(11.Byy 项目目号nn); printtf(2.BBy 工工地号n); printtf(3.BBy 配配件号n);printtf(4.BBy 销销售商号号n);printtf(请选择择项:n); scanff(%d,

27、&x); if(x=3) flag=0; printtf(Pleeasee innputt thhe 配配件号:); scanff(%d,&w); fp=foopenn(ddataa3.ttxt,rrb); for(jj=0;j1100;j+) if(frreadd(&ppjjj,ssizeeof(strructt peeijiian),1,fp)!=11) bbreaak; if(pjjj.nuum=w) printtf(配件号号:%ddn,pjjj.nuum); printtf(配件名名:%ssn,pjjj.naame); printtf(配件颜颜色:%snn,ppjjj.ccoloor)

28、; printtf(配件重重量:%dnn,ppjjj.wweigght); printtf(配件产产地:%snn,ppjjj.aareaa); printtf(-n); flag=1; if(fllag=0) printtf(Cannnott fiind thee daata!n); fclosse(ffp); meenu(); if(x=4) flag=0; printtf(请输入入销售商商号:); scanff(%d,&z); fp=foopenn(ddataa4.ttxt,rrb); for(jj=0;j1100;j+) if(frreadd(&sselj,sizzeoff(sttruc

29、ct sselller),1,fp)!=11) bbreaak; if(pjjj.nuum=y) printtf(销售商商号:%dnn,sselj.numm); printtf(销售商商名:%snn,sselj.namme); printtf(所在城城市名:%sn,sellj.ciity); printtf(-n); flag=1; if(fllag=0) printtf(Cannnott fiind thee daata!n); fclosse(ffp); meenu(); if(x=2) flag=0; printtf(请输入入建筑工工地号:); scanff(%d,&z); fp=foo

30、penn(ddataa2.ttxt,rrb); for(jj=0;j1100;j+) if(frreadd(&bbuilldjj,ssizeeof(strructt buuilddingg),11,fpp)!=1) breeak; if(pjjj.nuum=z) printtf(建筑工工地号:%dn,buiildj.numm); printtf(建筑工工地名:%sn,buiildj.namme); printtf(所在城城市名:%sn,buiildj.citty); printtf(-n); flag=1; if(fllag=0) printtf(Cannnott fiind thee daa

31、ta!n); fclosse(ffp); meenu(); if(x=1) flag=0; printtf(Pleeasee innputt thhe 项项目号:); scanff(%d,&v); fp=foopenn(ddataa1.ttxt,rrb); for(jj=0;j1100;j+) if(frreadd(&ppjjj,ssizeeof(strructt peeijiian),1,fp)!=11) bbreaak; if(pjjj.nuum=v) printtf(selllerr nuumbeer:%dnn,ssalj.numm1); printtf(peiijiaan nnumbb

32、er:%dn,sallj.nuum2); printtf(buiildiing nummberr:%ddn,saaljj.nnum33); printtf(nummberr:%ddn,saaljj.nnum44); printtf(-n); flag=1; if(fllag=0) printtf(Cannnott fiind thee daata!n); fclosse(ffp);mennu(); else priintff(EErroor!n); (4) 查找配对模模块【分析】 功能能跟查找找大致相相同,输输入要配配对的相相应信息息,找出出要的信信息。是否继续查找?开始输入要配对的方式:1)

33、配件号;2)销售商号码是否找到?显示找到的记录提示没找到NY结束N 图66 查找配配对模块块流程图图【程序】/*查找找配对模模块*/void seaarchh2() int fflagg,j,x; int ww;FILE *fpp; printtf(1.BBy 配配件号n);printtf(2.BBy 销销售商号号n);printtf(请选择择项:n); scanff(%d,&x); if(x=1) FILE *fpp;int ii; printtf(Pleeasee innputt thhe 配配件号:); scanff(%d,&w);if(ffp=ffopeen(datta3.txtt,r)=NULLL)prinntf(Caannoot ffindd thhe ddataa!nn); fcloose(fp);meenu(); for(ii=0;!feeof(fp);i+)fscannf(ffp,%d%s%ss,ppjii.nnum,&pjji.naame,&pjji.arrea);fclosse(ffp);if(ffp=ffopeen(datta4.txtt,r)=NULLL)prinntf(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 商业计划书

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁