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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

高级语言程序设计说明书建筑工地信息管理系统Word下载.docx

1、 1、需求分析:信息采用文件存储,因而要提供文件的输入输出操作;要插入数据,因而要提供数据的 添加操作; 要实现数据的删除、 更新和查询, 因而要提供文件记录的删除、 修改和查找操作; 另外要提供键盘式选择菜单以实现功能选择。2、总体设计:整个系统可以被设计为数据输入模块、数据添加模块、数据删除模块、数据查询并修改模块、配对模块。数 据 添 加 模 块 图1 系统功能模块图 4、详细设计一、主函数【分析】 主函数一般设计得比较简便,只提供输入、处理和输出部分的函数调用。其中各功能模块用菜单方式选择。void menu() f1() f11() do do switch(c) switch(c)

2、 case 1:f1();break;f11(); case 2:f2();f12(); case 3: case 3:f13(); case 4:f14(); case 5:exit(0);back=0; default: default: while(1); 图(2) 【程序】/*主菜单*/ void menu() int w; do system(cls); printf(tt*MENU*nntttt1.输入n/*输入*/ tttt2.删除n/*删除*/ tttt3.查找与修改n/*查找与修改*/ tttt4.配对n/*查找配对*/ tttt5.添加ntttt6.退出nntt*nChoo

3、se your number (1-6): bb scanf(%d,&w); switch(w) case 1:enter();Delete();search();search2();add(); case 6: while(1);void main()color 0a9 start();PAUSE menu();二、各功能模块设计(1)数据输入模块【分析】 数据信息存放在文件中,用结构体存放,方便数据输入与数据的保存。另外,输入模块中建立副菜单,用以输入四个文件的信息选项。【程序】(以输入销售商结构体信息为例)/*数据输入模块*/ void SEL_enter () int j;char c

4、2;FILE *fp; if(fp=fopen(data4.txt,w)=NULL) printf(Can not open the file!nfor(j=0;ji;j+) fwrite(&selj,sizeof(struct seller),1,fp);while(1) printf(n输入销售商号:scanf(%s,seli.num);n输入销售商名:,seli.name);n输入销售商所在城市:,seli.city);if(fwrite(&seli+,sizeof(struct seller),1,fp)!=1) nFile write errornelse printf(Succes

5、sful! -n是否继续?y/n:,c);if(strcmp(c,n)=0|strcmp(c,N)=0)break;fclose(fp);system(void enter() int m,back; do system(tt*MENU*nnt以下符号:S-项目、B-建筑工地、P-配件、SEL-销售商ntttt1.输入数据到Sntttt2.输入数据到Bntttt3.输入数据到Pn /*输入菜单*/tttt4.输入数据到SELntttt5.返回nntt *n请选择(1-5):m); switch(m) sal_enter();build_enter();pj_enter();SEL_enter(

6、);case 5:default: if(back=0)break; while(1); (2)删除模块【分析】 建立副菜单,选择要删除的是哪个文件中的信息,输入相应的信息,找到数据将其删除。一般的做法是将数据从文件中删除,删除位置后面的记录往前移。模块如:图(3) 删除模块流程图(以删除销售商结构体信息为例)/*删除模块*/ void SEL_delete() int j,v,flag=0; char a5,c2; FILE *fp;r)=NULL) n打开文件失败! exit(0); do请输入号码:,a); for(j=0;100; if(fread(&selj,sizeof(struc

7、t seller),1,fp)!=1) break; fclose(fp); fp=fopen( v=j;v; if(strcmp(selj.num,a)=0) printf(n销售商号码,销售商名字,城市: n%s %s %s,selj.num,selj.name,selj.city); for(i=j;ii+) seli=seli+1; flag=1; if(flag=0)printf(Cannot find the data!是否继续y/n: if(strcmp(c,j+) fwrite(&void Delete() int m,back;tttt1.删除数据到Sntttt2.删除数据到

8、Bntttt3.删除数据到Pn /*删除菜单*/tttt4.删除数据到SELn switch(m) sal_delete();build_delete();pj_delete();SEL_delete();(3)查找与修改模块【分析】 选择查找方式,输入相应的数据然后找出对应的数据。模块流程图: 图(4) 查找修改模块流程图(以查找修改销售商结构体信息为例)/*查找与修改模块*/ void SEL_search() int j,k=0,flag=0; struct seller p1100,p2100;n请输入要查找的销售商号:!feof(fp); fread(&p1j,sizeof(stru

9、ct seller),1,fp); if(strcmp(p1j.num,a)=0) n销售商号:%sn,p1j.num);销售商名:,p1j.name);所在城市名:,p1j.city);-n n是否修改y/n:yY)=0) printf(n销售商号:,p2k.num);strcpy(p1j.num,p2k.num);n销售商名:,p2k.name);strcpy(p1j.name,p2k.name);n所在城市名:,p2k.city);strcpy(p1j.city,p2k.city); k+;successful! /else continue; for(k=0;kj;k+)p1k,siz

10、eof(struct seller),1,fp); if(flag=0)没有要找的数据!void search() int back,w;tttt1.by项目号ntttt2.by工地号ntttt3.by配件号n /*查找与修改菜单*/tttt4.by销售商号ntttt5. 返回 switch(w)sal_search();build_search();pj_search();SEL_search();(4)查找配对模块【分析】 功能跟查找大致相同,输入要配对的相应信息,找出要的信息。 图(5) 查找配对模块流程图(以查找配件供应商信息为例)/*查找配对模块*/void find1() int

11、m=0,n,k; int flag=0; FILE *fp,*fp1,*fp2;data1.txt if(fp1=fopen(data3.txt if(fp2=fopen(salm,sizeof(struct sale),1,fp); for(n=0;feof(fp1);n+) fread(&pjn,sizeof(struct peijian),1,fp1); if(strcmp(pjn.num,salm.num2)=0)break; for(k=0;feof(fp2);selk,sizeof(struct seller),1,fp2); if(strcmp(selk.num,salm.num

12、1)=0)break; if(strcmp(selk.city,pjn.area)=0)销售商号码:,selk.num);配件号:,pjn.num); flag=1; m+; while(!feof(fp);没有配对项! fclose(fp1); fclose(fp2); 5、上机操作 (1) 主菜单函数 图(6) 主菜单(2)数据输入模块 图(7) 输入副菜单(3) 删除模块 图(8) 删除模块(4) 查找模块图(9) 查找修改模块(5)添加模块图(10) 添加模块(6)查找配对模块 图13 查找配对模块后记这次课程设计,让我对C语言编程有了更进一步的认识,巩固了C语言的基本功,同时体会到:

13、做好一件事是不容易的,要找准方向并付出最大努力,才有好的收获!我原本以为计算机二级过了,编程就没多大问题了,通过这次课设,我才明白考试只是一种形式,真正能检验实力还是实践。能看懂程序并不代表会写程序,看程序和写程序之间需要很长的路要走。我觉得这次课设主要是对基本知识的综合应用,并引入模块化程序设计的思想。比如我这个建筑工地信息管理系统,主要是用do、for循环和switch结构以文件为中间平台,使各模块之间能够数据共享,而不需要传值或传地址调用,降低了模块间的耦合性。应该说这次课设是为以后学习软件技术奠基。最后需要说明的是,这个程序还没有达到理想的效果,希望各位能够提供些帮助和建议!参考文献1

14、谭浩强.C程序设计(第二版).北京:清华大学出版社,19992王新 孙雷.C语言课程设计.北京:清华大学出版社,20093谭浩强.C程序设计(第三版).北京:清华大学出版社,2005 附录:源程序清单/*文件*data1.txtdata2.txtdata3.txtdata4.txt*/#includestdlib.hmalloc.hstring.h/#include#define SPACE 0x3920#define ESC 0x011bint i=0;struct sale /*定义销售商-配件-建筑工地*/ char num15; /*销售商号码*/ char num25; /*配件号*/ char num35; /*工地号*/ int num; /*数量*/ sal100;struct building /*定义建筑工地结构体*/ char num5; char name20; /*工地名*/ char city20; /*城市名*/ build100;struct peijian /*定义配件结构体*/ /*配件名*/ char color20; /*颜色*/ int weight; /*重量*/ char area20; /*产地*/ pj100;struct s

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

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