C语言课程设计报告—建筑工地信息管理系统1469.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C语言课程设计报告—建筑工地信息管理系统1469.docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告—建筑工地信息管理系统1469.docx(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 C语语言课程设设计 名称:建筑筑工地信息息管理系统统 学学院:工程程学院 班级:00550771-300姓名:文富富奎学号:20007100038889指导老师:刘文中前言课程设计目目的:C语语言编程实实践是学习习C语言的的一个重要要环节,为为提高学生生的程序设设计能力,通通过课堂和和上机实践践使学生的的程序设计计能力有一一个上升的的台阶。通通过前四单单元的温故故而知新、庖庖丁解牛、举举一反三、熟熟能生巧等等过程的练练习之后能能够解决一一些简单的的实际问题题。1、 题目要求设计:“建建筑工地信信息管理系系统”建立如下44个文件(括括号内为文文件中每条条记录的字字段内容):(1) 销售商-配配
2、件-建筑筑工地 (销销售商号码码,配件号号,工地号号,数量)(2) 建筑工地 (工地号号,名字,城城市)(3) 配件 (配配件号,配配件名,颜颜色,重量量,产地)(4) 销售商 (号号码,名字字,状态,城城市)功能:(1) 首先建立文文件,然后后插入数据据,并进行行删除、更更新操作,最最后进行查查询操作。(2) 查询与供应应商所在城城市相同的的零件供应商,项项目供应商商记录对。 2、分析析 根据题目目要求,建建立文件,应应选择结构构体数组来来存放数据据,再定义义一个全局局变量和文文件指针进进行程序的的运行,然然后把数据据信息存入入文件中,所所以要提供供结构体和和文件的输输入输出等等操作;在在程
3、序中要要进行数据据的插入、删删除、更新新、查询等等操作,所所以需要建建立相应的的模块来实实现,为简简便起见,还还应建立一一个主菜单单,在每个个模块中建建立相应的的副菜单;另外,还还要提供键键盘式选择择菜单来实实现选择功功能,使程程序在运行行时达到要要求。 3、总总体设计根据题目要要求,可以以将系统分分为:1) 插入数据模模块;2) 删除模块;3) 查询模块;4) 查找配对;5) 功能选择菜菜建筑工地信息管理系统 查 找 配对 模块删除模块查询模块数据输入模块 功能 选 择 菜 单 图11 系系统功能模模块图 4、详细细设计一、主函数数【分析】 主主函数一般般设计得比比较简便,只只提供输入入、处
4、理和和输出部分分的函数调调用。其中中各功能模模块用菜单单方式选择择。其流程程图:开始显示一系列功能选择输入n,判断w 是否是0到4?根据n值调用各功能模块函数结束N 图2 主函函数流程图图 【程程序】/*主菜单*/ voidd mennu() int n,w; /*变变量n保存存选择菜单单数字,ww判断输入入的数字是是否在功能能菜单对应应数字范围围内*/ do puuts(ttt*建筑工工地信息管管理*nn); putss(姓名名:文富奎奎); putss(学号号:20007100038899); putss(班学学号:05550711-30); putss(ttt*MEENU*nn); pu
5、tss(tttttt1.输入);/*输输入*/ putss(tttttt2.删除);/*删删除*/ putss(tttttt3.查找);/*查查找*/ putss(tttttt4.配对);/*查查找配对*/ putss(tttttt5.Exitt); putss(nnnttt*n); prinntf(Chooose yyour numbber (1-5): bbb); scannf(%d,&n); if(nn5) w=1; getcchar(); eelse w=0; whille(w=1); swittch(nn) ccase 1:ennter();brreak; casee 2:ddele
6、tte();breaak; casee 3:ssearcch();breaak; casee 4:ssearcch2();breeak; casee 5:eexit(0); main() menu(); 二、各功能能模块设计计(1)数据据输入模块块【分析】 数据信信息存放在在文件中,用用结构体存存放,方便便数据输入入与数据的的保存。另另外,输入入模块中建建立副菜单单,用以输输入四个文文件的信息息选项。开始输入用户信息是否继续进行? 结束返回主菜单Y 图图3 数据输入入模块流程程图【程序】/*数据输入模模块*/ void sal_enteer() intt j; char c2; FILE *f
7、p; if(fp=ffopenn(daata1.txt,w)=NULLL) printtf(CCan nnot oopen the filee!n); exit(0); for(jj=0;jji;jj+) fwritte(&ssaljj,siizeoff(strruct salee),1,fp); whilee(1) printtf(输输入销售商商号码:n); scanff(%dd,&ssalii.nuum1); printtf(输输入配件号号码:nn); scanff(%dd,&ssalii.nuum2); printtf(输输入工地号号码:nn); scanff(%dd,&ssalii.n
8、uum3); printtf(输输入数量rr:n); scanff(%dd,&ssalii.nuum4); if(fwwritee(&saali+,ssizeoof(sttructt salle),11,fp)!=1) printtf(FFile writte errrorn); else prinntf(Succcessfful!n); printtf(是是否继续?( 是y/否否n) n); scanff(%ss,c); if(sttrcmpp(c,n)=0)bbreakk; fclosse(fpp);meenu(); voidd buiild_eenterr() innt j; char
9、c2; FILE *fp; if(fp=ffopenn(daata2.txt,w)=NULLL) printtf(CCan nnot oopen the filee!n); exit(0); for(jj=0;jji;jj+) fwritte(&bbuilddj,sizeeof(sstrucct buuildiing),1,fpp); whilee(1) printtf(输输入工地号号:n); scanff(%dd,&bbuilddi.num); printtf(输输入工地名名:n); scanff(%ss,buuildi.nname); printtf(输输入工地城城市:nn); scanf
10、f(%ss,buuildi.ccity); if(fwwritee(&buuildi+,sizzeof(struuct bbuildding),1,ffp)!=1) printtf(FFile writte errrorn); else prinntf(Succcessfful!n); printtf(IIs thhere any moree?( YYesyy/Noon) n); scanff(%ss,c); if(sttrcmpp(c,n)=0)bbreakk; fclosse(fpp);meenu(); voidd pj_enteer() intt j; char c2; FILE *fp
11、; if(fp=ffopenn(daata3.txt,w)=NULLL) printtf(CCan nnot oopen the filee!n); exit(0); for(jj=0;jji;jj+) fwritte(&ppjj,sizzeof(struuct ppeijiian),1,fpp); whille(1) printtf(输输入配件号号:n); scanff(%dd,&ppji.numm); printtf(输输入配件名名:n); scanff(%ss,pjji.namee); printtf(输输入配件颜颜色:nn); scanff(%ss,pjji.coloor); prin
12、ttf(输输入配件重重量:nn); scanff(%dd,&ppji.weiight); printtf(输输入配件产产地:nn); scanff(%ss,pjji.areaa); if(fwwritee(&pjji+,siizeoff(strruct peijjian),1,ffp)!=1) printtf(FFile writte errrorn); else prinntf(Succcessfful!n); printtf(IIs thhere any moree?( YYesyy/Noon) n); scanff(%ss,c); if(sttrcmpp(c,n)=0)bbreakk;
13、fclosse(fpp);meenu(); voidd SETT_entter () innt j; char c2; FILE *fp; if(fp=ffopenn(daata4.txt,w)=NULLL) printtf(CCan nnot oopen the filee!n); exit(0); for(jj=0;jji;jj+) fwritte(&sseljj,siizeoff(strruct selller),1,fpp); whilee(1) printtf(输输入销售商商号:nn); scanff(%dd,&sselii.nuum); printtf(输输入销售商商名:nn);
14、scanff(%ss,seeli.namme); printtf(输输入销售商商状态:n); scanff(%ss,seeli.staate); printtf(输输入销售商商所在城市市:n); scanff(%ss,seeli.citty); if(fwwritee(&seeli+,ssizeoof(sttructt selller),1,ffp)!=1) printtf(FFile writte errrorn); else prinntf(Succcessfful!n); printtf(IIs thhere any moree?( YYesyy/Noon) n); scanff(%ss
15、,c); if(sttrcmpp(c,n)=0)bbreakk; fclosse(fpp);meenu(); void enteer() intt t,mm; do putss(ttt*MENNU*nnn); puts(tttt1.ssal_eenterr neww datta); puts(tttt2.bbuildd_entter nnew ddata); puts(tttt3.ppj_ennter new dataa); /*输入菜单单*/ puts(tttt4.SSET_eenterr neww datta); puts(tttt5.EExit); puts(nntt *nn); pri
16、nttf(CChoosse thhe nuumberr(1-55): bb); scanff(%dd,&mm); if(m5) t=11; getchhar(); else t=0; whille(t=1); swittch(mm) casee 1:ssal_eenterr();bbreakk; casee 2:bbuildd_entter();breeak; casee 3:ppj_ennter();brreak; casee 4:SSET_eenterr();bbreakk; casee 5:mmenu(); (2) 删除模块【分析】 建立副副菜单,选选择要删除除的是哪个个文件中的的信息,
17、输输入相应的的信息,找找到数据将将其删除。一般的做法是将数据从文件中删除,删除位置后面的记录往前移。模块如: 开始输入要删除的数据是否找到?删除数据显示成功显示没有找到Y结束图4 删除模块块流程图【程序】/*删除除模块*/ void sal_deleete()int j,v; int ww; FILE *fp; printtf(请请输入要删删除的销售售商号码:); scanff(%dd,&ww); fp=foopen(datta1.ttxt,rb); for(jj=0;jj1000;j+) if(frread(&sallj,sizeeof(sstrucct saale),1,fpp)!=11)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 报告 建筑工地 信息管理 系统 1469
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内