ImageVerifierCode 换一换
格式:DOCX , 页数:44 ,大小:238.94KB ,
资源ID:8695884      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8695884.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(建筑工地信息管理系统课程设计报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、建筑工地信息管理系统课程设计报告建筑工地信息管理系统课程设计报告-作者:-日期: C语言课程设计 名称:建筑工地信息管理系统 学院:工程学院 班级:055071-30:文富奎学号:指导老师:文中前言课程设计目的:C语言编程实践是学习C语言的一个重要环节,为提高学生的程序设计能力,通过课堂和上机实践使学生的程序设计能力有一个上升的台阶。通过前四单元的温故而知新、庖丁解牛、举一反三、熟能生巧等过程的练习之后能够解决一些简单的实际问题。1、题目要求设计:“建筑工地信息管理系统”建立如下4个文件(括号为文件中每条记录的字段容):(1)销售商-配件-建筑工地 (销售商,配件号,工地号,数量)(2)建筑工

2、地 (工地号,名字,城市)(3)配件 (配件号,配件名,颜色,重量,产地)(4)销售商 (,名字,状态,城市)功能:(1)首先建立文件,然后插入数据,并进行删除、更新操作,最后进行查询操作。(2)查询与供应商所在城市相同的零件供应商,项目供应商记录对。 2、分析 根据题目要求,建立文件,应选择结构体数组来存放数据,再定义一个全局变量和文件指针进行程序的运行,然后把数据信息存入文件中,所以要提供结构体和文件的输入输出等操作;在程序中要进行数据的插入、删除、更新、查询等操作,所以需要建立相应的模块来实现,为简便起见,还应建立一个主菜单,在每个模块中建立相应的副菜单;另外,还要提供键盘式选择菜单来实

3、现选择功能,使程序在运行时达到要求。 3、总体设计根据题目要求,可以将系统分为:1)插入数据模块;2)删除模块;3)查询模块;4)查找配对;5)功能选择菜 图1 系统功能模块图 4、详细设计一、主函数【分析】 主函数一般设计得比较简便,只提供输入、处理和输出部分的函数调用。其中各功能模块用菜单方式选择。其流程图: 图2 主函数流程图 【程序】/*主菜单*/ void menu() int n,w; /*变量n保存选择菜单数字,w判断输入的数字是否在功能菜单对应数字围*/ do puts(tt*建筑工地信息管理*nn); puts(:文富奎); puts(学号:); puts(班学号:05507

4、1-30); puts(tt*MENU*nn); puts(tttt1.输入);/*输入*/ puts(tttt2.删除);/*删除*/ puts(tttt3.查找);/*查找*/ puts(tttt4.配对);/*查找配对*/ puts(tttt5.Exit); puts(nntt*n); printf(Choose your number (1-5): bb); scanf(%d,&n); if(n5) w=1; getchar(); else w=0; while(w=1); switch(n) case 1:enter();break; case 2:delete();break; c

5、ase 3:search();break; case 4:search2();break; case 5:exit(0); main() menu(); 二、各功能模块设计(1)数据输入模块【分析】 数据信息存放在文件中,用结构体存放,方便数据输入与数据的保存。另外,输入模块中建立副菜单,用以输入四个文件的信息选项。 图3 数据输入模块流程图【程序】/*数据输入模块*/ void sal_enter() int j; char c2; FILE *fp; if(fp=fopen(data1.txt,w)=NULL) printf(Can not open the file!n); exit(0

6、); for(j=0;ji;j+) fwrite(&salj,sizeof(struct sale),1,fp); while(1) printf(输入销售商:n); scanf(%d,&sali.num1); printf(输入配件:n); scanf(%d,&sali.num2); printf(输入工地:n); scanf(%d,&sali.num3); printf(输入数量r:n); scanf(%d,&sali.num4); if(fwrite(&sali+,sizeof(struct sale),1,fp)!=1) printf(File write errorn); else

7、printf(Successful!n); printf(是否继续?( 是y/否n) n); scanf(%s,c); if(strcmp(c,n)=0)break; fclose(fp);menu(); void build_enter() int j; char c2; FILE *fp; if(fp=fopen(data2.txt,w)=NULL) printf(Can not open the file!n); exit(0); for(j=0;ji;j+) fwrite(&buildj,sizeof(struct building),1,fp); while(1) printf(输入

8、工地号:n); scanf(%d,&buildi.num); printf(输入工地名:n); scanf(%s,buildi.name); printf(输入工地城市:n); scanf(%s,buildi.city); if(fwrite(&buildi+,sizeof(struct building),1,fp)!=1) printf(File write errorn); else printf(Successful!n); printf(Is there any more?( Yesy/Non) n); scanf(%s,c); if(strcmp(c,n)=0)break; fcl

9、ose(fp);menu(); void pj_enter() int j; char c2; FILE *fp; if(fp=fopen(data3.txt,w)=NULL) printf(Can not open the file!n); exit(0); for(j=0;ji;j+) fwrite(&pjj,sizeof(struct peijian),1,fp); while(1) printf(输入配件号:n); scanf(%d,&pji.num); printf(输入配件名:n); scanf(%s,pji.name); printf(输入配件颜色:n); scanf(%s,pj

10、i.color); printf(输入配件重量:n); scanf(%d,&pji.weight); printf(输入配件产地:n); scanf(%s,pji.area); if(fwrite(&pji+,sizeof(struct peijian),1,fp)!=1) printf(File write errorn); else printf(Successful!n); printf(Is there any more?( Yesy/Non) n); scanf(%s,c); if(strcmp(c,n)=0)break; fclose(fp);menu(); void SET_en

11、ter () int j; char c2; FILE *fp; if(fp=fopen(data4.txt,w)=NULL) printf(Can not open the file!n); exit(0); for(j=0;ji;j+) fwrite(&selj,sizeof(struct seller),1,fp); while(1) printf(输入销售商号:n); scanf(%d,&seli.num); printf(输入销售商名:n); scanf(%s,seli.name); printf(输入销售商状态:n); scanf(%s,seli.state); printf(输入

12、销售商所在城市:n); scanf(%s,seli.city); if(fwrite(&seli+,sizeof(struct seller),1,fp)!=1) printf(File write errorn); else printf(Successful!n); printf(Is there any more?( Yesy/Non) n); scanf(%s,c); if(strcmp(c,n)=0)break; fclose(fp);menu(); void enter() int t,m; do puts(tt*MENU*nn); puts(tttt1.sal_enter new

13、 data); puts(tttt2.build_enter new data); puts(tttt3.pj_enter new data); /*输入菜单*/ puts(tttt4.SET_enter new data); puts(tttt5.Exit); puts(nntt *n); printf(Choose the number(1-5): bb); scanf(%d,&m); if(m5) t=1; getchar(); else t=0; while(t=1); switch(m) case 1:sal_enter();break; case 2:build_enter();b

14、reak; case 3:pj_enter();break; case 4:SET_enter();break; case 5:menu(); (2)删除模块【分析】 建立副菜单,选择要删除的是哪个文件中的信息,输入相应的信息,找到数据将其删除。一般的做法是将数据从文件中删除,删除位置后面的记录往前移。模块如:图4 删除模块流程图【程序】/*删除模块*/ void sal_delete()int j,v; int w; FILE *fp; printf(请输入要删除的销售商:); scanf(%d,&w); fp=fopen(data1.txt,rb); for(j=0;j100;j+) if

15、(fread(&salj,sizeof(struct sale),1,fp)!=1) break; v=j; for(j=0;jv;j+) if(w=salj.num1) printf(项目号,销售商,配件号,工地号,数量:n); printf(%d %d %d %d %d,salj.num,salj.num1,salj.num2,salj.num3,salj.num4);for(i=j;iv;i+) salj=salj+;printf(删除成功); else printf(Cannot find the data!);menu(); fclose(fp); void build_delete

16、() int j,v; int w; FILE *fp; printf(请输入要删除的工地号:); scanf(%d,&w); fp=fopen(data2.txt,rb); for(j=0;j100;j+) if(fread(&buildj,sizeof(struct building),1,fp)!=1) break; v=j; for(j=0;jv;j+) if(w=buildj.num) printf(工地号,工地名,城市名:n);printf(%d %s %s,buildj.num, buildj.name,buildj.city);printf(删除成功);else printf(

17、Cannot find the data!);menu(); fclose(fp); menu(); void pj_delete() int j,v; int w; FILE *fp; printf(请输入要删除的配件号:); scanf(%d,&w); fp=fopen(data3.txt,rb); for(j=0;j100;j+) if(fread(&pjj,sizeof(struct peijian),1,fp)!=1) break; v=j; for(j=0;jv;j+) if(w=pjj.num) printf( 配件号,配件名,颜色,重量,产地:n);printf(%d %s %

18、s %d %s,pjj.num,pjj.name,pjj.color,pjj.weight,pjj.area);printf(删除成功); else printf(Cannot find the data!);menu(); fclose(fp); menu(); void SET_delete () int j,v,c; int w; FILE *fp; printf(请输入:); scanf(%d,&w); fp=fopen(data4.txt,rb); for(j=0;j100;j+) if(fread(&selj,sizeof(struct seller),1,fp)!=1) brea

19、k; v=j; for(j=0;jv;j+) if(w=selj.num) printf( 销售商,销售商名字,状态,城市: n);printf(%d %s %s %s,selj.num,selj.name,selj.state,selj.city);printf(删除成功); else printf(Cannot find the data!);menu(); fclose(fp); menu(); void delete() int t,m; do puts(tt*MENU*nn); puts(tttt1.sal_delete new data); puts(tttt2.build_del

20、ete new data); puts(tttt3.pj_delete new data); /*删除菜单*/ puts(tttt4.SET_delete new data); puts(tttt5.Exit); puts(nntt *n); printf(Choose the number(1-5): bb); scanf(%d,&m); if(m5) t=1; getchar(); else t=0; while(t=1); switch(m) case 1:sal_delete();break; case 2:build_delete();break; case 3:pj_delete(

21、);break; case 4:SET_delete ();break; case 5:menu(); (3)查找模块【分析】 选择查找方式,输入相应的数据然后找出对应的数据。模块流程图: 图5 查找模块流程图【程序】/*查找模块*/ void search() int flag,j,x; int w,v,z,y; FILE *fp; printf(1.By 项目号n); printf(2.By 工地号n); printf(3.By 配件号n);printf(4.By 销售商号n);printf(请选择项:n); scanf(%d,&x); if(x=3) flag=0; printf(Ple

22、ase input the 配件号:); scanf(%d,&w); fp=fopen(data3.txt,rb); for(j=0;j100;j+) if(fread(&pjj,sizeof(struct peijian),1,fp)!=1) break; if(pjj.num=w) printf(配件号:%dn,pjj.num); printf(配件名:%sn,pjj.name); printf(配件颜色:%sn,pjj.color); printf(配件重量:%dn,pjj.weight); printf(配件产地:%sn,pjj.area); printf(-n); flag=1; i

23、f(flag=0) printf(Cannot find the data!n); fclose(fp); menu(); if(x=4) flag=0; printf(请输入销售商号:); scanf(%d,&z); fp=fopen(data4.txt,rb); for(j=0;j100;j+) if(fread(&selj,sizeof(struct seller),1,fp)!=1) break; if(pjj.num=y) printf(销售商号:%dn,selj.num); printf(销售商名:%sn,selj.name); printf(所在城市名:%sn,selj.city

24、); printf(-n); flag=1; if(flag=0) printf(Cannot find the data!n); fclose(fp); menu(); if(x=2) flag=0; printf(请输入建筑工地号:); scanf(%d,&z); fp=fopen(data2.txt,rb); for(j=0;j100;j+) if(fread(&buildj,sizeof(struct building),1,fp)!=1) break; if(pjj.num=z) printf(建筑工地号:%dn,buildj.num); printf(建筑工地名:%sn,buildj.name); printf(所在城市名:%sn,buildj.city); printf(-n); flag=1; if(flag=0) printf(Cannot find the data!n); fclose(fp); menu(); if(x=1) flag=0; printf(Please input t

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1