C语言课设之建筑工地信息管理系统

合集下载

信息查询系统C语言实现

信息查询系统C语言实现

本程序为C 语言课设题目信息管理系统:1、 要求实现信息录入2、 能实现信息查询3、 信息排序4、 删除信息5、 修改信息6、 显不所有7、 插入信息 &设置界面 具体代码如下: #include<stdio.h> #in clude<stri ng ・h> #include<stdlib.h> struct student{char name[20]; char phone[20];char email[20]; char QQ[20];};void menu(void)printf("\n\n\n ------ 欢迎使用通讯录系统一 -An");printf("+■An");printf(" 1、信息录入 \n“); printf(" 2、信息查询 \n");printf(" 3、信息排序 \n“);printf(" 4、删除信息\n");printf(" 5、修改信息 \n“);printf(" 6、显Z5所有 \n“);printf(" 7、插入信息 \n");printf(" &退出系统 \n");printf(“+■An"); printff 1'请输入你的选择:\rT);〃菜单程序〃int input(struct student stu[]) 〃输入程序〃{int i,n=O;printf("请输入录入条数\n");scanf(l,%d l,/&n);for(i=0;i<n;i++){printf("请输入第%(1个成员的姓名,电话,邮箱,QQ号\n“,i+l);scanf("%s:stu[i].name);scanf(”%s 蔦stu[i].phone);scanf(”%s 蔦stu[i].email);scanf(”%s 蔦stu[i]・QQ);}return n;}void find(struct student stu[]z int n) 〃查询程序〃{int i;char ch[16];printff"输入查询条件:姓名或电话\n“);scanf(l,%s,,/ch);for(i=0;i<n;i++){if(!strcmp(ch,stu[i].name)| | !strcmp(ch,stu[i].phone)){printf("查询到姓名为%s 的同学:\n“,stu[i].name);printf("信息如下\n”);printf("姓名: %s 电话: %s 邮箱: %s QQ 号码:%s^stu[i]・name,stu[i]・phone,stu[i]・email,stu[i]・QQ);return;}}printff"未找到相关记录”);void output(struct stud ent stu[],i nt n){int i;if(n==O)printf ("通讯录中空无一物\n“);else{printfC'ifi 讯录所有记录如下\n''); for(i=0;i<n;i++)/ tprintf"姓名:%s^); printf)"电话:%sn z stu[i].phone); printf"邮箱:%s,l /stu[i].email); printf(H QQ : %s “,stu[i].QQ);printf(II \n N );}}} int dele(struct stud ent stu[]Jnt n){int i,j;char mark[20];printf ("输入要删除记录的人名或电话号码\n");scanf(,,%s ,,/mark);if(n==O){printf ("通讯录中空无一物\n");return 0;}else{for(i=0;i<=n;i++) if(!strcmp(mark,stu[i].name)| | !strcmp(mark,stu[i].phone))〃显不程序〃 〃删除程序〃printf(u以下是您要删除的记录'n”);printf("姓名:%s 电话:%s 邮箱:%s 码:%s\n:stu[i]・name,stu[i]・phone,stu[i]・email,stu[i]・QQ);for(j=i;j<n-l;j++)stu[j]=stu[j+l];printf(“删除成功\n“);n=n-l;return n;}}printf("未查询到该条记录\n");return n;}}int in sert(struct stud ent stu[]z int n){int i,x;printf("请输入插入记录条数\n");scanf("%cT:&x);for(i=n;i<n+x;i++){printf(''请输入插入的第%d个成员的姓名,电话,邮箱,QQ号\n"J-n+l); scanf(,,%s,,/stu[i].name);scanf(,,%s,,/stu[i].phone);scanf(,,%s,,/stu[i].email);scanf(,,%s,,/stu[i].QQ);}printf(“插入完成\n“);n=x+n;return n;} void change(struct student stu[],int n) 序〃int i;char x[20];printf("请输入需要修改的记录:姓名或电话\n");scanf("%s 蔦x);for(i=0;i<n;i++){if(!strcmp(x,stu[i].name)| | !strcmp(x,stu[i].phone))QQ 号〃插入程序〃〃修改程{p r i ntf ("查询到可修改记录\n");printfC*请输入修改后的名字,电话,邮箱,QQ 号码\n“); scanf(ll %s ,,/stu[i].name);scanf(ll %s ,,/stu[i].phone);scanf(,,%s ,,/stu[i].email);scanf(ll %s ,,/stu[i].QQ);printf ("修改记录成功\n");return;}}printf("未查找到相关记录\n");}void sort(struct student stu[],int n){int ij ;struct student tmp;for(i=0;i<n-l;i++){for(j=i;j<n-l;j++) if(strcmp(stu[j]. name,stu[j+l]・name)<0) tmp=stu[j]/stu[j]=stu[j+l],stu[j+l]=tmp; }printf (”排序后的记录如下:\n H );for(i=0;i<n;i++){printf ("名字:%s ,l /stu[i].name);printf("电话:%s n z stu[i].phone);printf("邮箱:%s n z stu[i].email);printfC'QQ : %s printff'Xn");}} void main(void){struct stud ent stu[35];int n ,c;while(l)〃排序算法〃蔦 stu[i]・QQ);{menu();scanf(,,%d,,/&c);switch(c){case 1:n二input(stu); break; case 2:find(stu,n);break;case 3:sort(stu,n);break;case 4:n=dele(stu,n); break; case 5:cha nge(stu, n); break; case 6:output(stu,n); break; case 7:n=insert(stu,n);break;case &exit(O);。

建筑工程安全管理信息系统

建筑工程安全管理信息系统

建筑工程安全管理信息系统一、引言建筑工程是一个相对复杂且危险的行业,涉及到多个专业、多个工种的协同作业。

为了保障施工过程中的安全,提高工程质量,降低事故发生率,建筑工程安全管理信息系统应运而生。

本文将介绍该系统的设计和实施,以及对建筑工程安全管理的积极影响。

二、系统概述建筑工程安全管理信息系统是以信息技术手段为支撑,通过采集、传输、存储和分析施工现场的各类数据,实现对建筑工程安全管理全过程的监控和控制的一种系统。

其主要包括以下功能模块:安全管理计划制定、施工现场巡检、安全培训与考核、事故报告与分析等。

通过该系统,可以实现对施工过程中各环节的监控和风险评估,及时发现和处理潜在的安全隐患,提高工程施工的安全性。

三、系统设计1. 数据采集与传输建筑工程安全管理信息系统通过传感器、视频监控、巡检人员等多种手段采集施工现场的各种参数和数据,如环境温度、湿度、粉尘浓度、气体含量、施工人员的安全装备、作业时长等。

采集到的数据通过无线传输的方式上传到系统后台进行存储和分析,以便监测施工现场的安全状况。

2. 系统后台管理建筑工程安全管理信息系统的后台管理负责数据的处理、存储和分析。

后台管理模块可以根据施工现场的数据和预设的安全指标,对施工现场的安全情况进行实时监控和评估。

一旦发现安全隐患,系统会自动发出预警,并通知相关人员进行处理。

3. 移动终端应用建筑工程安全管理信息系统还可以通过移动终端实现对施工现场的实时巡检和管理。

工地巡检人员通过手机APP登录系统,根据系统指引进行巡检,记录现场情况并实时上报。

通过移动终端应用,可以实现数据的及时传输和工作流程的更加高效。

四、系统实施建筑工程安全管理信息系统的实施需要经历以下几个步骤:1.需求分析:明确系统所需的功能和性能,根据实际施工情况进行定制化开发。

2.系统设计:包括数据库设计、界面设计、功能模块划分等。

3.系统开发与测试:根据需求设计进行系统开发,并进行测试以确保系统的稳定性和可靠性。

建设工程信息管理实践课程设计(新)实践报告

建设工程信息管理实践课程设计(新)实践报告

建设工程信息管理实践课程设计(新)实践报告一、背景介绍建设工程信息管理是指运用信息技术手段,对建设工程实施全过程进行综合管理、协调和控制的一种管理方式。

在建设工程领域,信息管理的重要性日益凸显,因此专门设计一门建设工程信息管理实践课程,有助于培养学生全面掌握信息管理的能力,提高他们在实际工作中的综合素质和竞争力。

二、课程内容1. 信息管理理论知识本课程首先对信息管理的基本理论进行系统讲解,包括信息管理的概念、原理、方法和工具等内容。

学生将学习到信息管理在建设工程中的重要性,以及信息管理对于提高工程质量、效率和安全的作用。

2. 信息化技术应用除了理论知识外,课程还将重点介绍信息化技术在建设工程中的应用。

学生将学习到建筑信息模型(BIM)、工程管理软件、大数据分析等先进技术的使用方法,并了解这些技术在实际项目中的应用场景和效果。

3. 案例分析与实践操作课程将结合实际案例,对学生进行案例分析,让他们通过真实项目的案例来了解信息管理在实际项目中的应用。

还将安排实践操作环节,让学生亲自操作建筑信息模型软件等工具,提高他们的实际操作能力。

4. 课程设计与报告撰写为了检验学生对信息管理的掌握程度,课程将安排一项综合性的课程设计任务。

学生需要结合所学知识,选取一个真实项目,进行信息管理方面的设计与实施,并最终撰写一份综合报告,说明他们的设计思路和实践成果。

三、深度和广度的探讨在本课程中,学生将从信息管理的基本理论学习开始,逐步深入到信息化技术的应用和实际案例的分析,在课程设计和报告撰写阶段,更是需要将所学知识灵活运用到实际项目中。

本课程设计既注重深度,又注重广度,通过渐进式的教学方式,帮助学生全面了解和掌握建设工程信息管理的相关知识和技能。

四、个人观点和理解建设工程信息管理实践课程设计是一门非常有价值的课程,它有助于学生在校期间系统性地学习和掌握信息管理的相关知识和技能,为将来从事建设工程管理工作打下良好的基础。

C语言课程设计报告:职工信息管理系统程序设计

C语言课程设计报告:职工信息管理系统程序设计

1.课程论文题目职工信息管理系统程序设计一、题目要求职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。

试设计一职工信息管理系统,使之能提供以下功能:(1)系统以菜单的方式工作。

(2)职工信息录入功能(职工信息用文件保存)。

(3)职工浏览功能。

(4)职工信息查询功能,查询方式可按学历查询或者工号查询。

(5)职工信息的删除、修改功能(可选项)。

2.程序设计思路1、设计思路(1)根据题目要求,应该把职工工资信息用结构体形式输入,在定义一个全局变量和文件指针进行整个程序的运行,然后把职工工资信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作;(2)在程序中需实现职工工资浏览、查询、统计等功能的操作,所以需要建立相应的功能模块来实现;(3)另外还需要提供键盘式选择菜单实现功能,在运行时达到所要的目的。

3.功能模块图5.算法设计1.主函数提供输入、处理和输出部分的函数调用,各功能模块采用菜单方式选择。

2浏览模块【分析】该模块的功能是浏览职工的全部信息3排序模块4查询模块【分析】该模块的功能是根据输入的职工按照工号和学历查找对应的记录,找到以后,可进行继续查找或修改信息的操作。

流程图如下:5修改模块【分析】该模块的功能是显示所有职工的信息,考虑到记录较多,建议采用分屏显示。

显示完所有记录后,输入要修改的职工的工号,根据工号查到职工的记录,并提示用户修改该记录的哪部分信息,根据用户做的选择修改相应信息。

流程图如下:6.程序代码#include<stdio.h>#define N 50struct worker{char id[50];char name[20];char sex[10];char age[10];char edu[20];char salary[10];char address[20];char tel[20];}worker[N];void save(int n) //保存函数,保存n个记录{ FILE *fp;int i;if((fp=fopen("worker.txt","wb"))==NULL) //以只写方式为输出打开一个二进制文件{ printf("\nCannot open file\n");}for(i=0;i<n;i++)if(fwrite(&worker[i],sizeof(struct worker),1,fp)!=1)printf("file write error\n");fclose(fp);}int load() //加载函数{ FILE *fp;int i;if((fp=fopen("worker.txt","rb"))==NULL){printf("\nCannot open file\n");return NULL;}for(i=0;!feof(fp);i++)fread(&worker[i],sizeof(struct worker),1,fp);fclose(fp);return(i-1);}void no_input(int i,int n) //工号输入函数,i表示第i个职工的信息,n 表示比较到第n个职工{ int j,k,w1;do{w1=0;printf("工号:");scanf("%s",worker[i].id);for(j=0;worker[i].id[j]!='\0';j++)if(worker[i].id[j]<'0'||worker[i].id[j]>'9') //判断工号是否为数字{puts("请重新输入!\n");w1=1;break;}if(w1!=1)for(k=0;k<n;k++) //比较到第N个职工if(k!=i&&strcmp(worker[k].id,worker[i].id)==0) //判断职工号是否有雷同{puts("请重新输入!\n");w1=1;break;}}while(w1==1);}void input(int i) //输入一个记录的函数{ no_input(i,i);printf("姓名:");scanf("%s",worker[i].name);printf("性别:");scanf(" %s",&worker[i].sex);printf("年龄:");scanf("%s",&worker[i].age);printf("工资:");scanf("%s",worker[i].salary);printf("学历:");scanf("%s",&worker[i].edu);printf("住址:");scanf("%s",worker[i].address);printf("电话:");scanf("%s",worker[i].tel);}void printf_one(int i) //显示一个记录的函数{printf("%10s %10s %5s %5s %8s %6s %10s %10s\n",worker[i].id,worker[i].name,worker[i].sex,worker[i].age,worker[i].salary,worker[i].edu,worker[i].address,worker[i].tel); }void printf_back() //一个任务结束后选择是好似浏览还是返回{ int k,w;printf("\n\n\tSuccessful^-^.\n\n");printf("接下来做什么?\n\n\t1).浏览全部\t2).返回: [ ]\b\b");scanf("%d",&w);if(w==1)browse();else menu();}modify_data(int i,int n) //修改函数{ int c,w1;do{puts("\nmodify by=>\n\n 1).工号 2).姓名 3).性别 4).年龄 5).工资6).学历 7).地址 8).电话 9).取消");printf("请选择?:[ ]\b\b");scanf("%d",&c);if(c>9||c<1){puts("\nChoice error!please again!");getchar();}}while(c>9||c<1);do{switch(c){case 1:no_input(i,n);break;case 2:printf("name:");scanf("%s",worker[i].name);break;case 3:printf("sex:");scanf("%s",worker[i].sex);break;case 4:printf("age:");scanf("%s",worker[i].age);break;case 5:printf("salary:");scanf("%s",worker[i].salary);break;case 6:printf("edu:");scanf("%s",worker[i].edu);break;case 7:printf("address:");scanf("%s",worker[i].address);break;case 8:printf("tel:");scanf("%s",worker[i].tel);break;case 9:menu();break;}puts("\nNow:\n");printf_face();printf_one(i);printf("\n确定?\n\n\t1).是2).否,重新修改3).不保存退出[ ]\b\b");scanf("%d",&w1);if(w1==1)save(n);}while(w1==2);return(w1);}printf_face() //显示数据结构项目{ printf("\n\t工号姓名性别年龄工资学历地址电话号码\n"); }void enter() //输入模块{ int i,n;printf("输入多少个职工信息(0-%d):",N-1);scanf("%d",&n);printf("\n 请输入职工信息\n\n");for(i=0;i<n;i++)input(i);if(i!=0)save(n);printf_back();}browse() //浏览模块{ int i,j,n;n=load();printf_face();for(i=0;i<n;i++){if((i!=0)&&(i%10==0)){printf("\n\n按任意键显示下一页...");getch();puts("\n\n");}printf_one(i);}printf("\t这里有 %d 条记录.\n",n);printf("\n按任意键返回...");getch();menu();}modify() //修改模块{struct worker s;FILE *fp;int i,n,k,w0=1,w1,w2=0;n=load();do{k=-1;printf_face();for(i=0;i<n;i++){if((i!=0)&&(i%10==0)) //目的是分屏显示{printf("\n\n记住要修改的工号.按任意键显示下一页");getch();puts("\n\n");}printf_one(i); //调用显示一个记录的函数}do{printf("\n\n输入要修改的职工工号! 工号:");scanf("%s",s.id); //输入要修改的IDfor(i=0;i<n;i++) //查找要修改的数据if(strcmp(s.id,worker[i].id)==0){k=i; //找到要修改的记录s=worker[i]; //把worker[i]备份,以便恢复}if(k==-1)printf("\n\n未找到请重输");}while(k==-1); //当k=-1表示没有找到printf_face(); //调用显示数据结构项目的函数printf_one(k); //调用显示一个记录的函数w1=modify_data(k,n); //修改记录并返回保存控制值w1,w1=1表示用户已确认修改if(w1==1){printf("\Successful^_^.\n\n修改另一个?\n\n\t1).是 2).否,保存退出\t[ ]\b\b");scanf("%d",&w0);w2=1; //用来控制保存,使w2=1是标记已有过修改}else{w0=0;if(w2==1)worker[k]=s;}if(w0!=1&&w2==1)save(n);}while(w0==1);menu();}search() //查询模块{ int c,w1;do{puts("\nsearch by=>\n\n1).工号 2}.学历 3).取消并返回"); printf("Which you needed?:[ ]\b\b");scanf("%d",&c);if(c>3||c<1){ puts("\nchoice error!please again!");getchar();}}while(c>3||c<1);{switch(c){case 1:search1();break;case 2:search2();break;case 3:menu();break;}}}search1() //按工号查询模块{int i,n,k,w1=1,w2,w3,w4;struct worker s;n=load();do{do{k=-1;printf("\n\n输入要查询的工号! id:");scanf("%s",s.id);printf_face();for(i=0;i<n;i++)if(strcmp(s.id,worker[i].id)==0){k=i;printf_one(k);break;}if(k==-1){printf("\n\nNo exit!please");printf("\n\n继续查找?\n\t1).是 2).否,返回 [ ]\b\b");scanf("%d",&w1);if(w1==2) menu();}}while(k==-1&&w1==1);w4=0;w3=0;if(k!=-1){printf("\n\n接下来干什么?\n\t1).查找另一个 2).修改 3).返回菜单[ ]\b\b");scanf("%d",&w2);switch(w2){case 1:search1();break;case 2:w3=modify_data(k,n);break;case 3:{menu();break;}}}}while(w2==1);menu();}search2() //按学历查询模块{int i,n,k,w1=1,w2,w3,w4;struct worker s;n=load();do{do{k=-1;printf("\n\n请输入你要查询的学历:\n");scanf("%s",);printf_face();for(i=0;i<n;i++)if(strcmp(,worker[i].edu)==0){k=i;printf_one(k);}if(k==-1){printf("\n\nNo exit!please");printf("\n\n继续查找?\n\t1).是 2).否,返回 [ ]\b\b");scanf("%d",&w1);if(w1==2) menu();}}while(k==-1&&w1==1);w4=0;w3=0;if(k!=-1){printf("\n\n接下来干什么?\n\t1).查找另一个 2).修改 3).返回菜单[ ]\b\b");scanf("%d",&w2);switch(w2){case 1:search2();break;case 2:w3=modify_data(k,n);break;case 3:{menu();break;}}}}while(w2==1);menu();}menu(){int n,w1;do{puts("\t\t*******************菜单*******************\n\n");puts("\t\t\t\t1.录入职工信息");puts("\t\t\t\t2.浏览职工信息");puts("\t\t\t\t3.查询职工信息");puts("\t\t\t\t4.修改职工信息");puts("\t\t\t\t5.退出");puts("\t\t****************************************\n\n");printf("请选择(1~5): [ ]\b\b");scanf("%d",&n);if(n<1||n>5) //对选择的数字作判断{w1=1;getchar();}else w1=0;} while(w1==1);switch(n){case 1:enter();break; //录入 case 2:browse();break; //浏览 case 3:search();break; //查询 case 4:modify();break; //修改 case 5:exit(0); //退出}}main(){menu();}7.程序运行结果下面是各个模块的的界面截图(1)、主菜单(2)、输入模块(3)、浏览模块(3)、查找模块(4)、修改模块8.编程中遇到的困难及解决方法温故而知新,可以为师矣。

工程项目信息管理系统-概要设计

工程项目信息管理系统-概要设计

工程项目信息管理系统-概要设计一、系统概述工程项目信息管理系统是一种管理工程项目信息的软件系统,旨在管理工程项目进度、资金支出、任务分配、人员安排等方面的信息,实现对整个工程项目的全面管控。

本系统采用现代化的信息技术手段,具备实时性、可靠性、安全性等优点。

本文档旨在对工程项目信息管理系统的概要设计进行描述。

二、需求分析1. 用户需求本系统的用户主要是公司内部的工程项目管理人员。

他们在使用本系统时需要实现以下功能:•登录系统后,可以查看工程项目的进度情况。

•管理工程项目的资金支出情况。

•分配任务给相关人员并跟踪任务完成情况。

•安排人员进出工程项目,以及记录人员工时。

•导出工程项目的报告,以便于上级领导浏览和审核。

2. 功能需求本系统需要实现的相关功能如下:•实现用户的登录、权限管理等基础功能。

•完成工程项目的基础信息录入、修改、删除等操作。

•实现工程项目进度管理功能,包括进度计划、进度分析等。

•实现工程项目资金管理,包括费用预算、资金统计等。

•实现工程项目任务分配、跟踪和审核等功能。

•实现工程项目人员安排、工时管理等功能。

3. 系统约束本系统的约束如下:•必须使用现代化的信息技术手段实现,确保实时性和可靠性。

•安全性要求高,必须采取有效措施保护用户数据的安全性。

•根据实际业务需求,确保系统的操作界面简洁、易用。

三、系统设计1. 总体设计本系统采用C/S模式,客户端采用Windows桌面应用程序,服务器端采用Java Web应用程序。

客户端和服务器端之间使用标准的封装协议进行通信,保证数据传输的可靠性。

客户端将管理和使用本系统的所有功能,服务器端负责数据存储、提供统一的服务接口和控制系统的运行。

2. 数据库设计本系统的数据库采用关系型数据库,使用MySQL作为数据库管理系统。

数据库中包含三张基础表,分别为工程项目表、任务分配表和人员安排表,还包含其他相关表。

各表之间按照一定的关联进行设计,尽可能减少数据冗余和重复。

建筑施工施工管理信息系统方案设计

建筑施工施工管理信息系统方案设计

建筑施工施工管理信息系统方案设计一、引言随着科技的不断发展和建筑行业的进步,建筑施工管理信息系统的设计和应用在工程项目中起着越来越重要的作用。

本文将针对建筑施工过程中的管理需求,提出一种完整的建筑施工施工管理信息系统方案设计。

二、系统概述建筑施工施工管理信息系统是一个集成了各种施工管理工具和信息资源的综合应用系统。

系统通过电子化手段,将建筑施工中的各项管理活动整合在一起,提供了一种高效、精确、可靠的管理方式,帮助项目管理者实现项目的顺利进行和高质量的交付。

三、系统功能模块划分1. 建设单位管理模块- 建设项目选择与立项管理- 合同管理- 工程量清单管理- 费用控制管理- 进度计划管理- 资源调配管理2. 建筑设计管理模块- 建筑设计方案管理 - 结构设计方案管理 - 给排水设计方案管理 - 电气设计方案管理 - 暖通设计方案管理 - 景观设计方案管理3. 施工单位管理模块- 施工计划管理- 人员分配管理- 施工进度管理- 质量控制管理- 安全管理- 现场监察管理4. 供应商管理模块- 材料供应商管理- 设备供应商管理- 人力资源供应商管理 - 施工服务供应商管理 - 质检服务供应商管理 - 审计服务供应商管理5. 财务管理模块- 成本估算与控制- 预算管理- 结算与支付管理- 经济效益评估- 财务报表生成6. 报表分析模块- 施工进度分析- 资源利用分析- 质量评估报告- 安全事故分析- 经济效益报表四、系统设计与实现建筑施工施工管理信息系统的设计与实现需要充分考虑系统的稳定性、可扩展性和用户友好性。

在技术选型方面,可以采用分布式架构,将系统拆分为多个子系统,提高系统的并发处理能力和性能。

在界面设计方面,应该注重用户体验,界面要简洁明了,操作要便捷,用户能够轻松上手和使用。

五、系统优势与应用前景经过建筑施工施工管理信息系统的引入和应用,项目管理者可以更加方便地掌握项目的进度、质量、成本等关键信息,及时做出决策和调整,提高项目管理的效率和质量。

建筑工程信息系统

建筑工程信息系统

建筑工程信息系统建筑工程是一个复杂而庞大的项目,包含许多不同的细节和环节。

为了更高效地管理和监控建筑工程的各个方面,建筑工程信息系统(Construction Information System,CIS)应运而生。

本文将介绍建筑工程信息系统的定义、特点、应用以及未来发展趋势。

一、建筑工程信息系统的定义建筑工程信息系统是指利用计算机技术和网络通信技术对建筑工程进行信息化管理的系统。

它包括建筑工程的规划设计、材料采购、施工进度、质量控制、安全管理等各个环节的信息管理和交流。

二、建筑工程信息系统的特点1. 可视化管理:建筑工程信息系统通过图像和模型的展示,使得管理者能够直观地了解建筑工程的各个细节和进展情况。

2. 多元化数据:建筑工程信息系统可以整合建筑工程的各个部分的数据,包括设计图纸、材料规格、施工计划等,形成一个全面的数据库,方便管理和查询。

3. 实时监控:建筑工程信息系统可以实时监控建筑工程的进展情况,及时发现问题并进行调整,有效地提高工程的质量和效率。

4. 协同合作:建筑工程信息系统可以实现不同部门和人员之间的协同合作,促进信息的共享和沟通,避免信息孤岛和信息滞后。

5. 数据安全:建筑工程信息系统注重数据的安全性和保密性,采用多重防护措施,确保数据不被非法获取或篡改。

三、建筑工程信息系统的应用1. 项目管理:建筑工程信息系统可以对建筑工程项目进行全面的管理,包括进度、成本、质量、安全等方面的监控和评估。

2. 决策支持:建筑工程信息系统通过数据分析和模拟仿真,为决策者提供及时准确的信息和决策支持,提高工程建设的决策水平。

3. 资料管理:建筑工程信息系统可以将建筑工程项目的相关资料进行数字化管理,方便存储和检索,提高工作效率。

4. 施工现场管理:建筑工程信息系统可以对施工现场进行实时监控和记录,及时发现问题并进行处理,提高施工管理的效果。

5. 质量检验:建筑工程信息系统可以监控和记录建筑工程的各个环节的质量检验数据,实现全面的质量控制和管理。

建筑工程信息化管理系统

建筑工程信息化管理系统

人员管理模块
01 人员招聘与配置
根据项目需求,招聘合适的人 员并进行合理配置。
02 人员培训与发展
开展员工培训和发展计划,提 高员工综合素质。
03 人员绩效与激励
制定人员绩效考核标准,实施 激励措施。
0 人员离职与交接 4规范人员离职流程,确保工作
交接顺利完成。
03
建筑工程信息化管理系统的实施与应用
系统实施步骤
系统设计与开发
根据需求调研结果,进行系统 架构设计、数据库设计、界面 设计等,并进行系统开发。
系统部署与上线
将系统部署到实际运行环境中 ,并进行系统配置和初始化工 作,确保系统正常运行。
需求调研与分析
对建筑工程项目进行详细的需 求调研,明确系统的功能需求 和业务需求。
系统测试与调试
对开发完成的系统进行全面的 测试和调试,确保系统功能和 性能符合要求。
成熟阶段
21世纪初,随着云计算、大数据 等技术的出现,建筑工程信息化 管理系统进一步成熟,实现全过 程的信息化管理和智能化决策。
02
建筑工程信息化管理系统的功能与模块
项目管理模块
进度管理
实时跟踪项目进度,确保工程按 时完成。
成本管理
对项目成本进行预算、核算和监 控,降低成本超支风险。
合同管理
管理项目相关合同,确保合同履 行和变更合规。
建筑工程信息化管理系统
汇报人:可编辑
2024-01-05
CONTENTS
• 建筑工程信息化管理系统概述 • 建筑工程信息化管理系统的功
能与模块 • 建筑工程信息化管理系统的实
施与应用 • 建筑工程信息化管理系统的优
势与挑战 • 建筑工程信息化管理系统的案
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言课设题目:建筑工地信息管理系统一.题目要求《建筑工地信息管理系统》要求要建立与建筑相关的四个文件信息:1)项目2)工地3)配件 4)商家;建立文件以后,根据项目、工地或商家完成各项工作的追加、删除、修改和更新查询操作。

二.需求分析要求整个系统设计为建筑工地的信息输入、追加、删除、修改、浏览、查询模块。

三.总体设计如示意图:四.详细设计1.主函数main(){menu();}2.菜单menu(){int n,w1;doputs("\n\t\t********************MENU********************\n");puts("\t\t 建筑工地信息系统 \n\n");puts("\t\t\t\t1.Enter data");puts("\t\t\t\t2.Addition data");puts("\t\t\t\t3.Delete data");puts("\t\t\t\t4.Modify data");puts("\t\t\t\t5.Insert data");puts("\t\t\t\t6.Browse all");puts("\t\t\t\t7.Browse project");puts("\t\t\t\t8.Browse site");puts("\t\t\t\t9.Browse outfit");puts("\t\t\t\t10.Browse sale");puts("\t\t\t\t11.Search date");puts("\t\t\t\t12.Exit");puts("\n\n\t\t*******************************************\n");printf("Choice your number(1-12):[ ]\b\b\b");scanf("%d",&n);if(n<1||n>12){w1=1;getchar();}else w1=0;}while(w1==1);switch(n){case 1:enter();break;case 2:add();break;case 3:del();break;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:exit(0);}}3.各功能模块设计(1)输入模块//整个系统数据结构:struct project{char site_num[10];char site_name[20];char site_city[20];char outfit_num[10]; char outfit_name[20]; char outfit_color[10]; char outfit_place[20]; char sale_num[10]; char sale_name[20]; char sale_state[10]; char sale_city[20];int outfit_n;程序宏定义#define N 50//流程示意图://程序实现enter(){int i,n;printf("How many information(0-%d)?:",N-1);scanf("%d",&n);printf("\nEnter data now\n\n");for(i=0;i<n;i++){printf("\nInput %dth student record.\n",i+1);input(i);}if(i!=0){save(n);save_project(n);save_site(n);save_outfit(n);save_sale(n);}printf_back();}(2)追加模块[流程图]//add(){int i,n,m,k;FILE *fp;n=load();printf("How many record are you want to add(0-%d)?:",N-1-n);scanf("%d",&m);k=m+n;for(i=n;i<k;i++){printf("\n Addtion %dth project record.\n",i-n+1);input(i);}for(i=n;i<k;i++){if((fp=fopen("main.txt","ab"))==NULL)printf("Cannot open file\n");if(fwrite(&pro[i],sizeof(struct project),1,fp)!=1)printf("file write error\n");fclose(fp);if((fp=fopen("project.txt","ab"))==NULL){printf("\nCannot open file\n");return NULL;} fprintf(fp,"%s,%s,%s,%d",pro[i].sale_num,pro[i].outfit_num,pro[i].site_num,pro[i].outfit_n);fclose(fp);if((fp=fopen("site.txt","ab"))==NULL){printf("\nCannot open file\n");return NULL;}fprintf(fp,"%s,%s,%s",pro[i].site_num,pro[i].site_name,pro[i].site_city);fclose(fp);if((fp=fopen("outfit.txt","ab"))==NULL){printf("\nCannot open file\n");return NULL;}fprintf(fp,"%s,%s,%s,%s,%d",pro[i].outfit_num,pro[i].outfit_name,pro[i].outfit_color,pro[i].outfit_pla,pro[i].outfit_n);fclose(fp);if((fp=fopen("sale.txt","ab"))==NULL){printf("\nCannot open file\n");return NULL;}fprintf(fp,"%s,%s,%s,%s",pro[i].sale_num,pro[i].sale_name,pro[i].sale_state,pro[i].sale_city);fclose(fp);}printf_back();}(3)删除模块//删除模块程序del(){struct project p;FILE *fp;int i,n,w1,w2,j;n=load();do{printf_face();for(i=0;i<n;i++)printf_one(i);do{printf("\n\nWhich needed delete?What do you want enter?\n\t1).site_num2)outfit_num 3)sale_num 4)outfit_n 5)NO and back\n");printf("Please choose:(1-5):[ ]\b\b\b");scanf("%d",&w2);switch(w2){case 1:printf("site_num:");scanf("%s",&p.site_num);break;cas 2:printf("outfit_num:");scanf("%s",&p.outfit_num);break;case 3:printf("sale_num:");scanf("%s",&p.sale_num);break;case 4:printf("outfit_n:");scanf("%s",&p.outfit_n);break;case 5:menu();}for(i=0;i<n;i++)for(j=i;j<n;j++)if((strcmp(p.site_num,pro[i].site_num)||strcmp(p.outfit_num, pro[i].outfit_num)||strcmp(p.sale_num,pro[i].sale_num)||(p.outfit_n==pro[i].outfit_n))==0);{pro[i]=pro[j];printf("%dth record has been deleted!\n",i-1);n--;save(n);printf_face();printf_one(i-1);}}while(j<n);printf("Are you delete another???\n\t1)Yes 2)No and Back",i);printf("\t\nPlease choose:(1-2):[ ]\b\b");scanf("%d",&w1);}while(w1==1);printf_back();}(4)修改模块//流程图示意图//modify(){struct project p;FILE *fp;int i,n,k,w0=1,w1,w2=0;n=load();do{k=-1;printf_face();for(i=0;i<n;i++){if((i!=0)&&(i%10==0)){printf("\n\nRemember NO.which needed modify.pass any key to continue...");getch();puts("\n\n");}printf_one(i);}do{printf("\n\nEnter Sale_num that you want to modify! sale_num:");scanf("%s",p.sale_num);for(i=0;i<n;i++)if(strcmp(p.sale_num,pro[i].sale_num)==0){k=i;p=pro[i];}if(k==-1) printf("\n\nNO exist!please again");}while(k==-1);printf_face();printf_one(k);w1=modify_data(k,n);if(w1=1){printf("\nSuccessful ^-^.\n\nAre you modify another?\n\t1)Yes 2)Back with save\t");printf("\nPlease choose:(1-2):[ ]\b\b");scanf("%d",&w0);w2=1;}else{w0=0;if(w2==1)pro[k]=p;}if(w0!=1&&w2==1)save(n);}while(w0==1);menu();}(5)插入模块//插入模块insert(){int i,j,n,c,t;struct project p;n=load();puts("\nInput one data.\n");do{input(n);printf_face();printf_one(n);printf("\n\nAre you sure?\n\n\t1).Sure \t2).cancel and again\t3).Back without save\n");printf("Please choose:(1-3):[ ]\b\b\b");scanf("%d",&c);if(c==1){for(i=0;i<n;i++)for(j=i;j<n+1;j++)if(pro[j].outfit_n<pro[j+1].outfit_n){p=pro[j];pro[j]=pro[j+1];pro[j+1]=p;}save(n+1);printf_back();}else if(c!=2)menu();}while(c==2);}(6)浏览模块//所有项目显示模块browse(){int i,j,n;n=load();printf_face();for(i=0;i<n;i++){if(i!=0&&i%10==0){printf("\n\nPass any key to continue...");getch();puts("\n\n");}printf_one(i);}printf("\t\nThere are %d record.\n",n);printf("\nPass any key to back...");getch();menu();}//销售商-配件-建筑工地浏览模块browse_project(){int i,j,n;n=load();printf_project1();for(i=0;i<n;i++){if(i!=0&&i%10==0){printf("\n\nPass any key to continue...");getch();puts("\n\n");}printf_project(i);}printf("\t\nThere are %d record.\n",n);printf("\nPass any key to back...");getch();menu();}//建筑工地浏览模块browse_site(){int i,j,n;n=load();printf_site1();for(i=0;i<n;i++){if(i!=0&&i%10==0){printf("\n\nPass any key to continue...");getch();puts("\n\n");}printf_site(i);}printf("\t\nThere are %d record.\n",n);printf("\nPass any key to back...");getch();menu();}//配件浏览模块browse_outfit(){int i,j,n;n=load();printf_outfit1();for(i=0;i<n;i++){if(i!=0&&i%10==0){printf("\n\nPass any key to continue...");getch();puts("\n\n");}printf_outfit(i);}printf("\t\nThere are %d record.\n",n);printf("\nPass any key to back...");getch();menu();}//销售商浏览模块browse_sale(){int i,j,n;n=load();printf_sale1();for(i=0;i<n;i++){if(i!=0&&i%10==0){printf("\n\nPass any key to continue...");getch();puts("\n\n");}printf_sale(i);}printf("\t\nThere are %d record.\n",n);printf("\nPass any key to back...");getch();menu();}(7)查找模块//查找示意图search(){int i,j,n,k,w1=1,w2,w3,w4,w5;struct project p;n=load();do{do{k=-1;printf_face();for(i=0;i<n;i++)printf_one(i);printf("\n\nWhat num do you want enter?\n\t1)sale_city 2).site_city 3)NO and back\n");printf("Please choose:(1-3):[ ]\b\b\b");scanf("%d",&w5);switch(w5){case 1:printf("sale_city:");scanf("%s",p.sale_city);break;case 2:printf("site_city:");scanf("%s",p.site_city);break;case 3:menu();}for(i=0;i<n;i++)if((strcmp(p.site_city,pro[i].site_city)&&strcmp(p.sale_city,pro[i].sale_city))==0){k=i;printf_one(k);}if(k==-1){printf("\n\nNO exist!");printf("\n\nAre you again?\n\t1).again 2)NO and back\n");printf("Please choose:(1-2):[ ]\b\b");scanf("%d",&w1);if(w1==2)break;}}while(k==-1&&w1==1);w4=0;w3=0;if(k!=-1){printf("\n\nWhat do you want to do? \n\t1).Search another 2).Modify3).Delete 4).Back menu\n");printf("Please choose:(1-4):[ ]\b\b\b");scanf("%d",&w2);switch(w2){case 2:w3=modify_data(k,n);break;case 3:{printf("\nAre you sure?\n\t1).Sure2).No and back");scanf("%d",&w4); }}if(w3==1||w4==1){save(n);printf("\n\nSuccessful. ^-^.");printf("\n\nWhat do you want to do?\n\t1).Search another 2).Back\n");printf("Please choose:");scanf("%d",&w2);}}}while(w2==1);menu();}4.公共函数//保存整个系统数据save(int n){FILE *fp;int i;if((fp=fopen("main.txt","wb"))==NULL){printf("\nCannot open file\n");return NULL;}for(i=0;i<n;i++)if(fwrite(&pro[i],sizeof(struct project),1,fp)!=1)printf("file write error\n");fclose(fp);}//保存主项目save_project(int n){FILE *fp;int i;if((fp=fopen("project.txt","wb"))==NULL){printf("\nCannot open file\n");return NULL;}for(i=0;i<n;i++)fprintf(fp,"%s,%s,%s,%d",pro[i].sale_num,pro[i].outfit_num,pro[i].site_num,pro[i].outfit_n);fclose(fp);}//保存建筑工地信息save_site(int n){FILE *fp;int i;if((fp=fopen("site.txt","wb"))==NULL){printf("\nCannot open file\n");return NULL;}for(i=0;i<n;i++)fprintf(fp,"%s,%s,%s",pro[i].site_num,pro[i].site_name,pro[i].site_city);fclose(fp);}//保存配件信息save_outfit(int n){FILE *fp;int i;if((fp=fopen("outfit.txt","wb"))==NULL){printf("\nCannot open file\n");return NULL;}for(i=0;i<n;i++)fprintf(fp,"%s,%s,%s,%s,%d",pro[i].outfit_num,pro[i].outfit_name,pro[i].outfit_color,pro[i].outfit_place,pro[i].outfit_n);fclose(fp);}//保存销售商信息save_sale(int n){FILE *fp;int i;if((fp=fopen("sale.txt","wb"))==NULL){printf("\nCannot open file\n");return NULL;}for(i=0;i<n;i++)fprintf(fp,"%s,%s,%s,%s",pro[i].sale_num,pro[i].sale_name,pro[i].sale_state,pro[i].sale_city);fclose(fp);}//加载文件int load(){FILE *fp;int i;if((fp=fopen("main.txt","rb"))==NULL){printf("\nCannot open file\n");return NULL;}for(i=0;!feof(fp);i++)fread(&pro[i],sizeof(struct project),1,fp);fclose(fp);return(i-1);}//文件输入-完成字符串类型输入char_input(int i){int j=1,k,w1,n=12;do{w1=0;for(j=1;j<12;j++){switch(j){case 1:printf("site_num.:");scanf("%s",&pro[i].site_num);break;case 2:printf("site_name.:");scanf("%s",&pro[i].site_name);break;case 3:printf("site_city.:");scanf("%s",&pro[i].site_city);break;case 4:printf("outfit_num.:");scanf("%s",&pro[i].outfit_num);break;case 5:printf("outfit_name.:");scanf("%s",&pro[i].outfit_name);break;case 6:printf("outfit_color.:");scanf("%s",&pro[i].outfit_color);break;case 7:printf("outfit_place.:");scanf("%s",&pro[i].outfit_place);break;case 8:printf("sale_num.:");scanf("%s",&pro[i].sale_num);break;case 9:printf("sale_name.:");scanf("%s",&pro[i].sale_name);break;case 10:printf("sale_state.:");scanf("%s",&pro[i].sale_state);break;case 11:printf("sale_city.:");scanf("%s",&pro[i].sale_city);break;}}if(!pro){puts("Input error!Only be made up of (0-9).Please reinput!\n");w1=1;break;}if(w1!=1)for(k=0;k<n;k++)if(k!=i&&strcmp(pro[k].site_num,pro[i].site_num)&&strcmp(pro[k].sale_num,pro[i].sale_num)==0){puts("This record is exist.please reinput!\n");w1=1;break;}}while(w1==1);}//文件输入-完成整形输入input(int i){char_input(i);printf("outfit_n:");scanf("%d",&pro[i].outfit_n);}//文件修改modify_data(int i,int n){int c,w1;do{puts("\nmodify by=>\n\n 1).site_num 2).site_name 3).site_city4).outfit_num 5).output_name\n 6).output_color 7).output_place8).sale_num 9).sale_name 10).sale_state\n11).sale_city12).outfit_n 13).cancle and back");printf("Please choose:(1-13):[ ]\b\b\b");scanf("%d",&c);if(c>13||c<1){puts("\nChoice error!Please again!");getchar();}}while(c>13||c<1);do{switch(c){case 1:printf("site_num.:");scanf("%s",&pro[i].site_num);break;case 2:printf("site_name.:");scanf("%s",&pro[i].site_name);break;case 3:printf("site_city.:");scanf("%s",&pro[i].site_city);break;case 4:printf("outfit_num.:");scanf("%s",&pro[i].outfit_num);break;case 5:printf("outfit_name.:");scanf("%s",&pro[i].outfit_name);break;case 6:printf("outfit_color.:");scanf("%s",&pro[i].outfit_color);break;case 7:printf("outfit_place.:");scanf("%s",&pro[i].outfit_place);break;case 8:printf("sale_num.:");scanf("%s",&pro[i].sale_num);break;case 9:printf("sale_name.:");scanf("%s",&pro[i].sale_name);break;case 10:printf("sale_state.:");scanf("%s",&pro[i].sale_state);break;case 11:printf("sale_city.:");scanf("%s",&pro[i].sale_city);break;case 12:printf("outfit_n.:");scanf("%d",&pro[i].outfit_n);break;case 13:menu();}puts("\nNow:\n");printf_face();printf_one(i);printf("\nAre you sure?\n\t1).Sure 2).No and remodify3).Back without save\n");printf("Please choose:(1-3):[ ]\b\b");scanf("%d",&w1);}while(w1==2);return(w1);}//显示主文件结构printf_face(){puts("\n\t********************建筑工地项目信息************************");puts("\n\t*************************************************************");printf("\t site_num site_name site_city");printf("\n\tnoutfit_num outfit_name outfit_color outfit_palce");printf("\n\t sale_num sale_name sale_state sale_city outfit_n");puts("\n\t*************************************************************"); }//显示项目文件结构printf_project1(){printf("\t-----------------------项目信息-------------------\n ");printf("\n \t销售商号码*******配件号*******工地号******配件数目\n ");puts(" -------------------------------------------------");}//显示建筑工地文件结构printf_site1(){printf("\t-----------工地信息-------------\n");printf("\n\t工地号*******名称*******所在地方\n");puts(" --------------------------------");}//显示配件文件结构printf_outfit1(){printf("\n\t -------------------------配件信息--------------------\n");printf("\n\t 配件号码*******名称********颜色*******产地*******数量\n");puts(" ------------------------------------------------------"); }//显示销售商文件结构printf_sale1(){printf("\n\t-------------------商家信息----------------\n");printf("\n\t生产商号*******名称*******状态*******城市\n");puts(" -------------------------------------------");}//显示主文件数据printf_one(int i){printf("\t%6s%13s%14s",pro[i].site_num,pro[i].site_name,pro[i].site_city);printf("\n\t%6s%13s%14s%14s",pro[i].outfit_num,pro[i].outfit_name,pro[i].outfit_color,pro[i].outfit_place);printf("\n\t%6s%13s%14s%14s%10d",pro[i].sale_num,pro[i].sale_name,pro[i].sale_state,pro[i].sale_city,pro[i].outfit_n);puts("\n\t-------------------------------------------------------------"); }//显示主项目数据printf_project(int i){printf("%14s%15s%13s%15d",pro[i].site_num,pro[i].outfit_num,pro[i].sale_num,pro[i].outfit_n);puts("\n -------------------------------------------------");}//显示建筑工地文件数据printf_site(int i){printf("%13s%11s%13s",pro[i].site_num,pro[i].site_name,pro[i].site_city);puts("\n --------------------------------");}//显示配件文件数据printf_outfit(int i){printf("%15s%13s%12s%11s%12d",pro[i].outfit_num,pro[i].outfit_name,pro[i].outfit_color,pro[i].outfit_place,pro[i].outfit_n);puts("\n ------------------------------------------------------"); }//显示销售商文件数据printf_sale(int i){printf("%12s%14s%11s%11s",pro[i].sale_num,pro[i].sale_name,pro[i].sale_state,pro[i].sale_city);puts("\n --------------------------------------------");}//返回到主函数printf_back(){int k,w;printf("\n\n\tSuccessful.^-^\n\n");printf("What do you want to do?\n\t1).Browse all now\t2).No and Back");printf("\nPlease choose:(1-2):[ ]\b\b");scanf("%d",&w);if(w==1) browse();else menu();}五、上机操作1.数据源根据输入格式,如如一组数据2.编译、连接、运行3.运行结果如图:(1)主菜单函数(2)输入函数(输入两个记录)输入两条记录后,如图:(3)追加模块(4)删除模块删除后结果:(4)修改模块修改后结果:(5)浏览结果:(7)查找结果退出:六、实习心得这次实习是第一次上机实习,没有经验,一切从零开始,不过通过对相关例题得编写过程中,帐务了许多方法,也逐渐明白了结构化程序设计的原理。

相关文档
最新文档