《建筑工地信息管理系统》由会员分享,可在线阅读,更多相关《建筑工地信息管理系统(20页珍藏版)》请在人人文库网上搜索。
1、c语言课程设计报告班级:中国地质大学计算机学院姓名:刘宇豪序列号:-28()教员:朱莉小姐时间:6月10日一、主题要求:标题施工现场信息管理系统要求建立以下四个文件(文件中每个信息记录的字段内容用括号括起来):(1)供应商-附件-施工现场(供应商编号、附件编号、现场编号、数量)(2)施工现场(现场编号、名称、城市)(3)附件(附件编号、附件名称、颜色、重量、产地)(4)供应商(数量、名称、状态、城市)功能:(1)首先,建立文件,然后插入数据,删除和更新,最后查询。(2)查询与供应商所在城市相同的部分供应商、项目供应商记录对。二。课程分析:根据主题的要求,存储配件号、站点号等。需要数据。
2、,同时存储站点名称、附件名称等。需要字符数组;由于使用了一些标准函数,它还应该包括头文件,如# include # include # include除了库函数之外,还需要定义一些函数,这些函数将用于形成主菜单等。为了存储各种信息,有必要建立一个结构来集成与配件、建筑工地或供应商相关的信息。还应该有显示、查询、删除、修改等操作来实现所需的功能;还应提供选择菜单来实现功能选择,并在适当的位置添加提示语句,使程序更加清晰,各模块更加独立和易读。根据需求,整个程序可以分为三个模块:添加信息、修改信息和查询信息。同时,各个模块的功能执行后,所有模块都可以返回主菜单,并且可以随时从任何模块开始运行,使得。
3、各个模块完全独立,程序更加灵活。系统功能模块图如下:施工现场信息管理系统添加信息删除信息修改信息查询信息三。详细设计:1.头文件和结构定义:#包括#包括#包括结构建筑char名称20;/*站点名称*/char num20;/*站点号*/char city20;/*施工现场所在的城市*/;struct peijianchar p _ name20;/*附件名称*/char p _ num20;/*配件号*/char p _ colour20;/*配件颜色*/char p _ weight20;/*附件重量*/char p _ area20;/*配件的产地*/;结构化业务char b _ name。
4、20;/*供应商名称*/char b _ num20;/*供应商编号*/char b _ state20;/*销售状态*/char b _ city20;/*城市*/;结构总计char b _ num20;/*供应商编号*/char p _ num20;/*配件号*/char num20;/*站点号*/char num 220;/*供应商提供给现场的零件数量*/;2.主要功能:void main() int n;PRINTF(/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *施工现场信息管理系统* * * *。
5、 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ n );PRINTF(/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *生产:刘宇豪* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 。
6、n );while(n!=15)Printf(1。添加施工现场信息n2。添加附件信息n3。添加供应商信息n4。添加供应商-附件-施工现场信息n5。修改施工现场信息n6。修改附件信息。修改供应商信息n8。修改供应商-附件-施工现场信息n9。删除施工现场信息n10。删除附件信息n11。删除供应商信息 N12。删除供应商-附件-施工现场信息n13。查询与供应商的城市-供应商记录对相同的零件n14。查询与供应商的城市-供应商记录对相同的项目n15。退出系统n请选择: ;scanf(“% d”,n);YNNY开始显示一系列功能选项输入n以确定n是否为15。根据n的值调用函数目标判断是否是1-14if(n。
7、=1)add 1();否则如果(n=2)add 2();否则如果(n=3)add 3();否则如果(n=4)add 4();否则如果(n=5)find 1();否则如果(n=6)find 2();否则如果(n=7)find 3();否则if(n=8)find 4();否则如果(n=9)del 1();否则如果(n=10)del 2();否则如果(n=11)del 3();否则if(n=12)del 4();否则if(n=13)seek 1();否则if(n=14)seek 2();3.添加信息功能:Void add1() /*定义了添加施工现场信息的功能*/char标志=y;建筑建筑;/*调用。
8、施工现场信息结构*/文件fp。/定义文件指针*/如果(fp=fopen (d:/c.txt , ab)=null)/*创建一个文本文件来存储信息*/退出(0);/*退出*/YN读入并存储附件等信息。你想继续吗回到主要功能创建文本文件定义一个文件指针并调用相应的结构同时(标志=y)打印(“请输入施工现场名称:”);scanf(“% s”,build . name);打印(“请输入施工现场编号:”);scanf(“% s”,build . num);打印(请输入施工现场所在的城市:);scanf(“% s”,build . city);fwrite(build,sizeof(struct buil。
9、ding),1,FP);打印(继续y/n : n);scanf(“% c”,标志);f close(FP);/*关闭文件*/Void add2() /*定义了添加附件信息的功能*/char标志=y;struct peijian pj/*呼叫附件信息结构*/文件*fp。如果(FP=fopen (d:/d.txt , ab)=null)/*创建一个文本文件来存储附件信息*/退出(0);/*退出*/同时(标志=y)打印(“请输入零件名称:”);scanf(“% s”,pj . p _ name);打印(“请输入零件号:”);scanf(“% s”,pj . p _ num);打印(“请输入附件颜色:。
10、”);scanf(“% s”,pj . p _ colour);打印(“请输入附件重量:”);scanf(“% s”,pj . p _ weight);打印(“请输入零件来源:”);scanf(“% s”,pj . p _ area);fwrite(pj,sizeof(struct peijian),1,FP);打印(继续y/n : n);scanf(“% c”,标志);f close(FP);/*关闭文件*/Void add3() /*定义了一个添加供应商信息的函数*/char标志=y;结构化业务总线;/*致电供应商信息结构*/文件*fp。如果(FP=fopen (d:/e.txt , ab。
11、 )=null)/*创建一个文本文件来存储供应商信息*/退出(0);/*退出*/同时(标志=y)打印(“请输入供应商名称:”);scanf(“% s”,bus . b _ name);打印(“请输入供应商编号:”);scanf(“% s”,bus . b _ num);打印(“请输入供应商状态:”);scanf(“% s”,bus . b _ state);打印(“请输入供应商城市:”);scanf(“% s”,bus . b _ city);fwrite(bus,sizeof(struct business),1,FP);打印(继续y/n : n);scanf(“% c”,标志);f clo。
12、se(FP);/*关闭文件*/Void add4() /*定义联系信息功能*/char标志=y;结构总bpb/*呼叫结构*/文件*fp。如果(fp=fopen (d:/f.txt , ab)=null)/*创建一个文本文件来存储信息*/退出(0);/*退出*/同时(标志=y)打印(“请输入供应商编号:”);scanf(“% s”,bpb . b _ num);打印(“请输入零件号:”);scanf(“% s”,bpb . b _ num);打印(“请输入施工现场编号:”);scanf(“% s”,bpb . num);Printf(“请输入卖方为施工现场:提供的附件数量”);scanf(“% 。
13、s”,bpb . num 2);fwrite(bpb,sizeof(struct total),1,FP);打印(继续y/n : n);scanf(“% c”,标志);f close(FP);/*关闭文件*/4.修改信息功能:无效find1() /*定义修改施工现场信息的功能*/文件fp。/*定义文件指针*/建筑建筑;/*呼叫结构*/char标志=y,查找;char名称20;如果(fp=fopen (d:/c.txt , r w)=null)/*确定是否有文件*/ printf( n t系统无法打开文件!“!);返回;/*返回主功能*/其他同时(标志=y)打印(请输入您要修改的建筑工地名称:)。
14、;scanf(“% s”,名称);find=n;倒带(FP);同时(fread(build,sizeof(build),1,fp)=1find=n)如果(strcmp (name,build.name)=0)/*判断文件中是否存在该信息*/find=y;休息;if(find=y)printf( building site name :% s n ,build . name);Printf(施工现场编号:%sn ,build . num);Printf(“建筑工地所在城市的33,360% s n”,build . city);打印(“请输入施工现场名称:”);scanf(“% s”,build 。
15、. name);打印(“请输入施工现场编号:”);scanf(“% s”,build . num);打印(请输入施工现场所在的城市:);scanf(“% s”,build . city);fseek(fp,-(long)(sizeof(struct building),1);/*文件标记向下*/fwrite(build,sizeof(build),1,FP);/*保存信息*/printf(是否继续y/n :;/*提示是否继续修改另一建筑工地信息*/scanf(% c ,标志);关闭;/*关闭文件*/void find2() /*定义修改配件信息的函数*/文件*fp .struct peijian pj茶标志=y,查找;茶名称20;if(fp=fopen(d:/d.txt , r w )=NULL) printf( n t系统无法打开文件! n );返回;其他同时(标志=y)printf(请输入您要修改的配件名称:);scanf(% s ,名称);find=n;倒带(计划生育);同时(fread(pj,sizeof(pj),1,fp)=1find=n)YN。