《C语言课设之建筑工地信息管理系统 .docx》由会员分享,可在线阅读,更多相关《C语言课设之建筑工地信息管理系统 .docx(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品名师归纳总结封面可编辑资料 - - - 欢迎下载精品名师归纳总结作者: PanHongliang仅供个人学习可编辑资料 - - - 欢迎下载精品名师归纳总结一. 题目要求C 语 言 课 程 实 习 报 告建筑工的信息治理系统可编辑资料 - - - 欢迎下载精品名师归纳总结建筑工的信息治理系统要求要建立与建筑相关的四个文件信息:1 工程 2)工的可编辑资料 - - - 欢迎下载精品名师归纳总结3) 配件 4 )商家。建立文件以后,依据工程、工的或商家完成各项工作的追加、删除、修改和更新查询操作。二. 需求分析要求整个系统设计为建筑工的的信息输入、追加、删除、修改、浏览、查询模块。三. 总体设
2、计如示意图:开头菜单输入追加删除插入修改浏览查找退出工程工的配件商家四. 详细设计1. 主函数main可编辑资料 - - - 欢迎下载精品名师归纳总结2. 菜单menumenu 。int n,w1。do可编辑资料 - - - 欢迎下载精品名师归纳总结putsntt*MENU*n。putstt建筑工的信息系统putstttt1.Enter data。putstttt2.Addition data。nn。putstttt3.Delete data。putstttt4.Modify data。putstttt5.Insert data。putstttt6.Browse all。putstttt7.B
3、rowse project。putstttt8.Browse site。putstttt9.Browse outfit。putstttt10.Browse sale。putstttt11.Search date。putstttt12.Exit。putsnntt*n。printfChoice your number1-12: bbb。scanf%d,&n。ifn12可编辑资料 - - - 欢迎下载精品名师归纳总结w1=1。getchar。else w1=0 。whilew1=1。switchncase 1:enter。break 。case 2:add。break 。case 3:del。bre
4、ak 。case 4:modify。break 。case 5:insert。break 。case 6:browse。break 。case 7:browse_project。break 。case 8:browse_site。break 。case 9:browse_outfit。break 。case 10:browse_sale。break 。case 11:search。break 。case 12:exit0。3. 各功能模块设计输入用户要输入职工记录的个数i 从 0 到 n-1 调用输入函数 inputii.=0储存 saven( 1)输入模块/ 整个系统数据结构:struct
5、projectchar site_num10。char site_name20。char site_city20。char outfit_num10。char outfit_name20。char outfit_color10。char outfit_place20。char sale_num10。char sale_name20。char sale_state10。char sale_city20。int outfit_n。proN。留意: proN 中的 N 为工程数量,本程序宏定义 #define N 50/ 流程示意图:可编辑资料 - - - 欢迎下载精品名师归纳总结/ 程序实现ent
6、erint i,n。printfHow many information0-%d.:,N-1。scanf%d,&n。printfnEnter data nownn。fori=0。in 。i+printfnInput %dth student record.n,i+1。inputi。ifi.=0saven 。save_projectn。save_siten。save_outfitn。save_salen。printf_back。( 2)追加模块调用 n=load 。并运算可以启示录的个数n输入用户要追加工程的个数nk=m+ni 从 n 到 k 调用输入函数 inputi储存追加的记录 流程图 /
7、 追加模块程序addint i,n,m,k。FILE *fp。n=load。printfHow many record are you want to add0-%d.:,N-1-n。scanf%d,&m。k=m+n。可编辑资料 - - - 欢迎下载精品名师归纳总结fori=n。ik 。i+printfn Addtion %dth project record.n,i-n+1。inputi。fori=n。 ik 。i+iffp=fopenmain.txt,ab=NULL printfCannot open filen。iffwrite&proi,sizeofstruct project,1,f
8、p.=1 printffile write errorn。fclosefp。iffp=fopenproject.txt,ab=NULLprintfnCannot open filen。return NULL。 fprintffp,%s,%s,%s,%d,proi.sale_num,proi.outfit_num,proi.site_num,proi.outfit_n。fclosefp。iffp=fopensite.txt,ab=NULLprintfnCannot open filen。return NULL。fprintffp,%s,%s,%s,proi.site_num,proi.site_
9、name,proi.site_city。fclosefp。iffp=fopenoutfit.txt,ab=NULLprintfnCannot open filen。return NULL。fprintffp,%s,%s,%s,%s,%d,proi.outfit_num,proi.outfit_name,proi.outfit_color,proi.outfit_pla, proi.outfit_n。fclosefp。iffp=fopensale.txt,ab=NULLprintfnCannot open filen。return NULL。fprintffp,%s,%s,%s,%s,proi.
10、sale_num,proi.sale_name,proi.sale_state,proi.sale_city。fclosefp。printf_back。( 3)删除模块/ 删除模块程序del可编辑资料 - - - 欢迎下载精品名师归纳总结struct project p。FILE *fp。int i,n,w1,w2,j。n=load。doprintf_face。fori=0。in 。i+printf_onei。doprintfnnWhichneededdelete.Whatdoyouwantenter.nt1.site_num2outfit_num3sale_num4outfit_n5NOan
11、d backn。printfPlease choose:1-5: bbb。scanf%d,&w2。switchw2可编辑资料 - - - 欢迎下载精品名师归纳总结break 。break 。break 。break 。case1:printfsite_num:。 scanf%s,&p.site_num。cas2:printfoutfit_num:。 scanf%s,&p.outfit_num。case3:printfsale_num:。 scanf%s,&p.sale_num。case4:printfoutfit_n:。 scanf%s,&p.outfit_n。case 5:menu。可编辑资
12、料 - - - 欢迎下载精品名师归纳总结fori=0。in 。i+forj=i。jn 。j+ ifstrcmpp.site_num,proi.site_num|strcmpp.outfit_num,proi.outfit_num|strcmpp.sale_num,proi.sale_num| p.outfit_n=proi.outfit_n=0。可编辑资料 - - - 欢迎下载精品名师归纳总结1) 。whilejn。proi=proj。printf%dthrecordhasbeendeleted.n,i-n-。saven。printf_face。printf_onei-1。可编辑资料 - -
13、- 欢迎下载精品名师归纳总结printfAre you delete another.nt1Yes 2No and Back,i。printftnPlease choose:1-2: bb。scanf%d,&w1。whilew1=1。printf_back。可编辑资料 - - - 欢迎下载精品名师归纳总结( 4)修改模块/流程图示意图显示全部记录,让用户看哪个要修改输入要修改的号码:开头选择1)工的好2)配件好号3 )商是否找到记录是否修改成修改不成功显示结果是否连续返回主菜单/ 修改模块程序modifystruct project p。FILE *fp。int i,n,k,w0=1,w1,w
14、2=0。n=load。dok=-1 。printf_face。fori=0。in 。i+ifi.=0&i%10=0printfnnRemember NO.which needed modify. pass any key to continue.。getch。putsnn。可编辑资料 - - - 欢迎下载精品名师归纳总结dosale_num:。printf_onei。printfnnEnterSale_numthatyouwanttomodify. scanf%s,p.sale_num。fori=0。in 。i+ifstrcmpp.sale_num,proi.sale_num=0可编辑资料 -
15、 - - 欢迎下载精品名师归纳总结k=i 。p=proi。ifk=-1 printfnnNO exist.please again。whilek=-1。printf_face。printf_onek。w1=modify_datak,n。ifw1=1printfnSuccessful -.nnAre you modify another.nt1) Yes 2Back with savet。printfnPlease choose:1-2: bb。scanf%d,&w0。w2=1。可编辑资料 - - - 欢迎下载精品名师归纳总结elsew0=0。ifw2=1prok=p。可编辑资料 - - - 欢
16、迎下载精品名师归纳总结ifw0.=1&w2=1saven 。whilew0=1。menu 。( 5)插入模块/ 插入模块insertint i,j,n,c,t。struct project p。n=load。putsnInput one data.n。doinputn。printf_face。printf_onen。可编辑资料 - - - 欢迎下载精品名师归纳总结printfnnAre you sure.nnt1.Suret2.cancel and againt 3.Back without saven。printfPlease choose:1-3: bbb。scanf%d,&c。ifc=1
17、fori=0。in 。i+forj=i。jn+1 。j+ifproj.outfit_nproj+1.outfit_n可编辑资料 - - - 欢迎下载精品名师归纳总结saven+1 。printf_back。p=proj。proj=proj+1。proj+1=p。可编辑资料 - - - 欢迎下载精品名师归纳总结else ifc.=2menu 。whilec=2。(6)浏览模块/ 浏览模块示意图n=load 。打开全部工程文件i从 0到 n-1调 用 输 出 函 数i.=0显示数据/ 全部工程显示模块browseint i,j,n。n=load。printf_face。fori=0。in 。i+i
18、fi.=0&i%10=0printfnnPass any key to continue.。getch。putsnn。printf_onei。可编辑资料 - - - 欢迎下载精品名师归纳总结printftnThere are %d record.n,n。printfnPass any key to back.。getch。menu 。/ 销售商 - 配件 - 建筑工的 浏览模块browse_projectint i,j,n。 n=load。printf_project1。fori=0。in 。i+ifi.=0&i%10=0printfnnPass any key to continue.。ge
19、tch。putsnn。printf_projecti。printftnThere are %d record.n,n。printfnPass any key to back.。getch。menu 。/ 建筑工的 浏览模块browse_siteint i,j,n。n=load。printf_site1。fori=0。in 。i+ifi.=0&i%10=0printfnnPass any key to continue.。getch。putsnn。printf_sitei。printftnThere are %d record.n,n。printfnPass any key to back.。g
20、etch。menu 。/ 配件 浏览模块browse_outfit可编辑资料 - - - 欢迎下载精品名师归纳总结int i,j,n。 n=load。printf_outfit1。fori=0。in 。i+ifi.=0&i%10=0printfnnPass any key to continue.。getch。putsnn。printf_outfiti。printftnThere are %d record.n,n。printfnPass any key to back.。getch。menu 。/ 销售商 浏览模块browse_saleint i,j,n。n=load。printf_sale
21、1。fori=0。in 。i+ifi.=0&i%10=0printfnnPass any key to continue.。getch。putsnn。printf_salei。printftnThere are %d record.n,n。printfnPass any key to back.。getch。menu 。( 7)查找模块/ 查找示意图可编辑资料 - - - 欢迎下载精品名师归纳总结在菜单中选择查找功能选择要查找的数据工程工程号配件号等查找比较显示找到的记录No exist.是否连续查找选择查找或返回主菜单返回主菜单/ 查找模块searchint i,j,n,k,w1=1,w2,
22、w3,w4,w5。struct project p。n=load。dodok=-1 。printf_face。fori=0。in 。i+ printf_onei。printfnnWhatnumdoyouwantenter.nt1sale_city2.site_city3NO and backn。printfPlease choose:1-3: bbb。scanf%d,&w5。switchw5case1:printfsale_city:。 scanf%s,p.sale_city。可编辑资料 - - - 欢迎下载精品名师归纳总结break 。break 。case2:printfsite_city
23、:。 scanf%s,p.site_city。case 3:menu。fori=0。in 。i+ifstrcmpp.site_city,proi.site_city& strcmpp.sale_city,proi.sale_city=0可编辑资料 - - - 欢迎下载精品名师归纳总结ifk=-1k=i 。printf_onek。printfnnNO exist.。printfnnAre you again.nt1.again 2NO and backn。printfPlease choose:1-2: bb。scanf%d,&w1。ifw1=2break。可编辑资料 - - - 欢迎下载精品名
24、师归纳总结whilek=-1&w1=1。w4=0。 w3=0。ifk.=-1printfnnWhatdoyouwanttodo.nt1.Searchanother2.Modify 3.Delete4.Back menun。printfPlease choose:1-4: bbb。scanf%d,&w2。switchw2case 2:w3=modify_datak,n。break 。case 3:printfnAre you sure.nt1.Sure2.No and back。scanf%d,&w4。 ifw3=1|w4=1saven 。printfnnSuccessful. -.。print
25、fnnWhat do you want to do.nt 1.Search another 2.Backn。printfPlease choose:。scanf%d,&w2。可编辑资料 - - - 欢迎下载精品名师归纳总结4. 公共函数whilew2=1。menu 。可编辑资料 - - - 欢迎下载精品名师归纳总结/ 储存整个系统数据saveint n可编辑资料 - - - 欢迎下载精品名师归纳总结FILE *fp。int i。iffp=fopenmain.txt,wb=NULLprintfnCannot open filen。return NULL。fori=0。in 。i+iffwrite
26、&proi,sizeofstruct project,1,fp.=1 printffile write errorn。fclosefp。/ 储存 主工程save_projectint nFILE *fp。int i。iffp=fopenproject.txt,wb=NULLprintfnCannot open filen。return NULL。fori=0。in 。i+ fprintffp,%s,%s,%s,%d,proi.sale_num,proi.outfit_num,proi.site_num,proi.outfit_n。fclosefp。/ 储存建筑工的信息save_siteint
27、nFILE *fp。int i。iffp=fopensite.txt,wb=NULLprintfnCannot open filen。return NULL。fori=0。in 。i+ fprintffp,%s,%s,%s,proi.site_num,proi.site_name,proi.site_city。fclosefp。/ 储存配件信息save_outfitint nFILE *fp。int i。iffp=fopenoutfit.txt,wb=NULLprintfnCannot open filen。可编辑资料 - - - 欢迎下载精品名师归纳总结return NULL。fori=0。
28、in 。i+ fprintffp,%s,%s,%s,%s,%d,proi.outfit_num,proi.outfit_name,proi.outfit_color,proi.outfit_place, proi.outfit_n。fclosefp。/ 储存销售商信息save_saleint nFILE *fp。int i。iffp=fopensale.txt,wb=NULLprintfnCannot open filen。return NULL。fori=0。in 。i+ fprintffp,%s,%s,%s,%s,proi.sale_num,proi.sale_name,proi.sale
29、_state,proi.sale_city。fclosefp。/ 加载文件int loadFILE *fp。int i。iffp=fopenmain.txt,rb=NULLprintfnCannot open filen。return NULL。fori=0。.feoffp。i+ fread&proi,sizeofstruct project,1,fp。fclosefp。returni-1。/ 文件输入 - 完成字符串类型输入char_inputint iint j=1,k,w1,n=12。dow1=0。forj=1。j12 。j+switchjcase1:printfsite_num.:。s
30、canf%s,&proi.site_num。 break 。可编辑资料 - - - 欢迎下载精品名师归纳总结case2:printfsite_name.:。scanf%s,&proi.site_name。break 。case3:printfsite_city.:。scanf%s,&proi.site_city。break 。case4:printfoutfit_num.:。scanf%s,&proi.outfit_num。break 。case5:printfoutfit_name.:。scanf%s,&proi.outfit_name。break 。case6:printfoutfit_c
31、olor.:。scanf%s,&proi.outfit_color。break 。case7:printfoutfit_place.:。scanf%s,&proi.outfit_place。break 。case8:printfsale_num.:。scanf%s,&proi.sale_num。 break 。case9:printfsale_name.:。scanf%s,&proi.sale_name。break 。case10:printfsale_state.:。scanf%s,&proi.sale_state。break 。case11:printfsale_city.:。scanf%
32、s,&proi.sale_city。break 。可编辑资料 - - - 欢迎下载精品名师归纳总结if.proreinput.n。ifw1.=1putsInputerror.Onlybemadeupof0-9.Please w1=1。 break 。fork=0。knn 1.site_num 2.site_name 3.site_city4.outfit_num5.output_namen6.output_color8.sale_num 9.sale_name 10.sale_staten11.sale_city可编辑资料 - - - 欢迎下载精品名师归纳总结12.outfit_n 13.cancle and back。printfPlease choose:1-13: bbb。scanf%d,&c。ifc13|c13|c1。doswitchc可编辑资料 - - - 欢迎下载精品名师归纳总结break 。case1:printfsite_num.:。 scanf%s,&proi.site_num。case2:printfsite_name.:。可编辑资料 - - - 欢迎下载精品名师归纳总结scanf%s,&proi.site_name。