欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C语言课程设计报告—建筑工地信息管理系统1319.docx

    • 资源ID:49415967       资源大小:270.85KB        全文页数:57页
    • 资源格式: DOCX        下载积分:30金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要30金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言课程设计报告—建筑工地信息管理系统1319.docx

    C语言课程设计 名称:建筑筑工地信信息管理理系统 学学院:工工程学院院 班级:00550071-30姓名:文富富奎学号:200071100338899指导老师:刘文中中前言课程设计目目的:CC语言编编程实践践是学习习C语言言的一个个重要环环节,为为提高学学生的程程序设计计能力,通通过课堂堂和上机机实践使使学生的的程序设设计能力力有一个个上升的的台阶。通通过前四四单元的的温故而而知新、庖庖丁解牛牛、举一一反三、熟熟能生巧巧等过程程的练习习之后能能够解决决一些简简单的实实际问题题。1、 题目要求设计:“建建筑工地地信息管管理系统统”建立如下44个文件件(括号号内为文文件中每每条记录录的字段段内容):(1) 销售商-配配件-建建筑工地地 (销销售商号号码,配配件号,工工地号,数数量)(2) 建筑工地 (工地地号,名名字,城城市)(3) 配件 (配配件号,配配件名,颜颜色,重重量,产产地)(4) 销售商 (号号码,名名字,状状态,城城市)功能:(1) 首先建立文文件,然然后插入入数据,并并进行删删除、更更新操作作,最后后进行查查询操作作。(2) 查询与供应应商所在在城市相相同的零零件供应商商,项目目供应应商记录录对。 2、分析析 根据题目目要求,建建立文件件,应选选择结构构体数组组来存放放数据,再再定义一一个全局局变量和和文件指指针进行行程序的的运行,然然后把数数据信息息存入文文件中,所所以要提提供结构构体和文文件的输输入输出出等操作作;在程程序中要要进行数数据的插插入、删删除、更更新、查查询等操操作,所所以需要要建立相相应的模模块来实实现,为为简便起起见,还还应建立立一个主主菜单,在在每个模模块中建建立相应应的副菜菜单;另外,还还要提供供键盘式式选择菜菜单来实实现选择择功能,使使程序在在运行时时达到要要求。 3、总总体设计计根据题目要要求,可可以将系系统分为为:1) 插入数据模模块;2) 删除模块;3) 查询模块;4) 查找配对;5) 功能选择菜菜建筑工地信息管理系统 查 找 配对 模块删除模块查询模块数据输入模块 功能 选 择 菜 单 图11 系统功功能模块块图 44、详细细设计一、主函数数【分析】 主函数数一般设设计得比比较简便便,只提提供输入入、处理理和输出出部分的的函数调调用。其其中各功功能模块块用菜单单方式选选择。其其流程图图:开始显示一系列功能选择输入n,判断w 是否是0到4?根据n值调用各功能模块函数结束N 图2 主主函数流流程图 【程程序】/*主主菜单*/ voidd meenu() int n,ww; /*变量量n保存存选择菜菜单数字字,w判判断输入入的数字字是否在在功能菜菜单对应应数字范范围内*/ do 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): bbb"); scannf(""%d"",&nn); if(nn<1|n>>5) 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)数据据输入模模块【分析】 数据据信息存存放在文文件中,用用结构体体存放,方方便数据据输入与与数据的的保存。另另外,输输入模块块中建立立副菜单单,用以以输入四四个文件件的信息息选项。开始输入用户信息是否继续进行? 结束返回主菜单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;j<ii;j+) fwritte(&&sallj,siizeoof(sstruuct salle),1,ffp); whilee(1) 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("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;j<ii;j+) fwritte(&&buiildj,sizzeoff(sttrucct 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("SSucccesssfull!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;j<ii;j+) fwritte(&&pjj,sizzeoff(sttrucct 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 peeijiian),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 noot oopenn thhe ffilee!nn"); exit(0); for(jj=0;j<ii;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.ciity); 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("tttttt1.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(m<<1|m>55) t=11; getchhar(); else t=00; whille(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结束图4 删除模模块流程程图【程序】/*删删除模块块*/ void sall_deelette()int j,vv; int ww; FILE *fpp; printtf(""请输入入要删除除的销售售商号码码:"); scanff("%d",&w); fp=foopenn("ddataa1.ttxt"","rrb"); for(jj=0;j<1100;j+) if(frreadd(&ssalj,sizzeoff(sttrucct ssalee),11,fpp)!=1) breeak; v=j; for(jj=0;j<vv;j+) if(ww=ssalj.numm1) priintff("项项目号,销销售商号号码,配配件号,工工地号,数数量:n"); priintff("%d %d %d %d %d",sallj.nuum,ssalj.numm1,ssalj.numm2,ssalj.numm3,ssalj.numm4);forr(i=j;ii<v;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); fp=foopenn("ddataa2.ttxt"","rrb"); for(jj=0;j<1100;j+) if(frreadd(&bbuilldjj,ssizeeof(strructt buuilddingg),11,fpp)!=1) breeak; v=j; for(jj=0;j<vv;j+) if(w=buuilddj.nuum) prinntf("工地地号,工工地名,城市名名:nn");priintff("%d %s %s",buiildj.numm, bbuilldjj.nnamee,buuilddj.ciity);prrinttf(""删除成成功");else priintff("CCannnot finnd 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;j<1100;j+) if(frreadd(&ppjjj,ssizeeof(strructt peeijiian),1,fp)!=11) bbreaak; v=j; for(jj=0;j<vv;j+) if(w=pjjj.nuum) prinntf(" 配件号号,配件件名,颜颜色,重重量,产产地: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=foopenn("ddataa4.ttxt"","rrb"); for(jj=0;j<1100;j+) if(frreadd(&sselj,sizzeoff(sttrucct sselller),1,fp)!=11) bbreaak; v=j; for(jj=0;j<vv;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 thee 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 *n""); printtf(""Chooosee thhe nnumbber(1-55): bbb"); scanff("%d",&m); if(m<<1|m>55) 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) 查找模块【分析】 选择择查找方方式,输输入相应应的数据据然后找找出对应应的数据据。模块块流程图图:开始输入查找的方式: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",&x); if(x=3) flag=0; printtf(""Pleeasee innputt thhe 配配件号:"); scanff("%d",&w); fp=foopenn("ddataa3.ttxt"","rrb"); for(jj=0;j<1100;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); 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;j<1100;j+) if(frreadd(&sselj,sizzeoff(sttrucct 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=foopenn("ddataa2.ttxt"","rrb"); for(jj=0;j<1100;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 daata!n""); fclosse(ffp); meenu(); if(x=1) flag=0; printtf(""Pleeasee innputt thhe 项项目号:"); scanff("%d",&v); fp=foopenn("ddataa1.ttxt"","rrb"); for(jj=0;j<1100;j+) if(frreadd(&ppjjj,ssizeeof(strructt peeijiian),1,fp)!=11) bbreaak; if(pjjj.nuum=v) printtf(""selllerr nuumbeer:%dnn",ssalj.numm1); printtf(""peiijiaan nnumbber:%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)配件号;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("Caannoot ffindd thhe ddataa!nn"); fcloose(fp);meenu();

    注意事项

    本文(C语言课程设计报告—建筑工地信息管理系统1319.docx)为本站会员(you****now)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

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

    收起
    展开