VC++建筑工地信息管理系统_第1页
VC++建筑工地信息管理系统_第2页
VC++建筑工地信息管理系统_第3页
VC++建筑工地信息管理系统_第4页
VC++建筑工地信息管理系统_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

建筑工地信息管理系统一题目要求建立如下四个文件(括号内为文件中每条记录得字段内容):销售商—配件—建筑工地(建筑商号码,配件号,工地号,数量)建筑工地(工地号,名字,城市)配件(配件号,配件名,颜色,重量,产地)销售商(号码,名字,状态,城市)功能:首先建立文件,然后插入数据,并进行删除,更新操作,最终进行查询操作。查询与供应商所在城市相同的零件—供应商,项目—供应商记录对。二需求分析依据题目要求,由于销售商—配件—建筑工地,建筑工地,配件,销售商的各种信息要求以文本文件的方式存放在四个文件中,所以应供应文件的输入,输出等操作;在程序中要阅读销售商—配件—建筑工地,建筑工地,配件,销售商的各种信息,应供应显示,查找,增加,更新等操作;另外还应供应键盘式选择菜单实现功能选择。三总体设计我们来分析一下整个系统,依据上面的需求分析,可以将这个系统的设计分为如下五大模块:输入,修改,删除,查询,退出。其中输入,修改,删除,查询是四个主要功能。四具体设计1.定义结构体#include<stdio.h>#include<stdlib.h>#include<string.h>structtotal{charb_num[20];/*销售商号码*/charp_num[20];/*配件号*/charnum[20];/*工地号*/charnum2[20];/*销售商为工地供应配件数量*/};structbuilding{charname[20];/*工地名称*/charnum[20];/*工地号*/charcity[20];/*工地所在城市*/};structpeijian{charp_name[20];/*配件名称*/charp_num[20];/*配件号码*/charp_colour[20];/*配件颜色*/charp_weight[20];/*配件重量*/charp_area[20];/*配件产地*/};structbusiness{charb_name[20];/*销售商名字*/charb_num[20];/*销售商号码*/charb_state[20];/*销售状态*/charb_city[20];/*所在城市*/};2.各功能模块设计(1)输入模块voidadd1();voidadd2();voidadd3();voidadd4();voidfind1();voidfind2();voidfind3();voidfind4();voiddel1();voiddel2();voiddel3();voiddel4();voidseek1();voidseek2();charflag='y';intn;voidadd1(){charflag='y';structbuildingbuild;FILE*fp;if((fp=fopen("c.txt","a+b"))==NULL){exit(0);}while(flag=='y'){printf("请输入建筑工地名称:");scanf("%s",);printf("请输入建筑工地编号:");scanf("%s",build.num);printf("请输入工地所在城市:");scanf("%s",build.city);fwrite(&build,sizeof(structbuilding),1,fp);printf("是否接着y/n:\n");scanf("%c",&flag);}fclose(fp);}voidadd2(){charflag='y';structpeijianpj;FILE*fp;if((fp=fopen("d.txt","a+b"))==NULL){exit(0);}while(flag=='y'){printf("请输入配件名称:");scanf("%s",pj.p_name);printf("请输入配件编号:");scanf("%s",pj.p_num);printf("请输入配件颜色:");scanf("%s",pj.p_colour);printf("请输入配件重量:");scanf("%s",pj.p_weight);printf("请输入配件产地:");scanf("%s",pj.p_area);fwrite(&pj,sizeof(structpeijian),1,fp);printf("是否接着y/n:\n");scanf("%c",&flag);}fclose(fp);}voidadd3(){charflag='y';structbusinessbus;FILE*fp;if((fp=fopen("e.txt","a+b"))==NULL){exit(0);}while(flag=='y'){printf("请输入销售商名称:");scanf("%s",bus.b_name);printf("请输入销售商编号:");scanf("%s",bus.b_num);printf("请输入销售商状态:");scanf("%s",bus.b_state);printf("请输入销售商所在城市:");scanf("%s",bus.b_city);fwrite(&bus,sizeof(structbusiness),1,fp);printf("是否接着y/n:\n");scanf("%c",&flag);}fclose(fp);}voidadd4(){charflag='y';structtotalbpb;FILE*fp;if((fp=fopen("f.txt","a+b"))==NULL){exit(0);}while(flag=='y'){printf("请输入销售商号码:");scanf("%s",bpb.b_num);printf("请输入配件编号:");scanf("%s",bpb.b_num);printf("请输入建筑工地编号:");scanf("%s",bpb.num);printf("请输入销售商为工地供应配件数量:");scanf("%s",bpb.num2);fwrite(&bpb,sizeof(structtotal),1,fp);printf("是否接着y/n:\n");scanf("%c",&flag);}fclose(fp);}voidfind1(){FILE*fp;structbuildingbuild;charflag='y',find;charname[20];if((fp=fopen("c.txt","r+w"))==NULL)printf("\n\tThesystemcan'topenthefile!!");while(flag=='y'){printf("请输入您要修改的建筑工地名称:");scanf("%s",name);find='n';rewind(fp);while((fread(&build,sizeof(build),1,fp))==1&&find=='n'){if(strcmp(name,)==0){find='y';break;}}if(find=='y'){printf("建筑工地名称:%s\n",);printf("建筑工地编号:%s\n",build.num);printf("建筑工地所在城市:%s\n",build.city);printf("请输入建筑工地名称:");scanf("%s",);printf("请输入建筑工地编号:");scanf("%s",build.num);printf("请输入建筑工地所在城市:");scanf("%s",build.city);fseek(fp,-(long)(sizeof(structbuilding)),1);/*文件标记向下*/fwrite(&build,sizeof(build),1,fp);}printf("是否接着:");/*提示是否接着修改另一建筑工地信息*/scanf("%c",&flag);}fclose(fp);/*关闭文件*/}(2)修改模块voidfind2(){FILE*fp;structpeijianpj;charflag='y',find;charname[20];if((fp=fopen("d.txt","r+w"))==NULL)printf("\n\tThesystemcan'topenthefile!!");while(flag=='y'){printf("请输入您要修改的配件名称:");scanf("%s",name);find='n';rewind(fp);while((fread(&pj,sizeof(pj),1,fp))==1&&find=='n'){if(strcmp(pj.p_name,name)==0){find='y';break;}}if(find=='y'){printf("配件名称:%s\n",pj.p_name);printf("配件编号:%s\n",pj.p_num);printf("配件颜色:%s\n",pj.p_colour);printf("配件重量:%s\n",pj.p_weight);printf("配件产地:%s\n",pj.p_area);printf("请输入配件名称:");scanf("%s",pj.p_name);printf("请输入配件编号:");scanf("%s",pj.p_name);printf("请输入配件颜色:");scanf("%s",pj.p_colour);printf("请输入配件重量:");scanf("%s",pj.p_weight);printf("请输入配件产地:");scanf("%s",pj.p_name);fseek(fp,-(long)(sizeof(structpeijian)),1);/*文件标记向下*/fwrite(&pj,sizeof(pj),1,fp);}printf("是否接着:");/*提示是否接着修改另一配件信息*/scanf("%c",&flag);}fclose(fp);/*关闭文件*/}voidfind3(){FILE*fp;structbusinessbus;charflag='y',find;charname[20];if((fp=fopen("e.txt","r+w"))==NULL)printf("\n\tThesystemcan'topenthefile!!");while(flag=='y'){printf("请输入您要修改的销售商名称");scanf("%s",name);find='n';rewind(fp);while((fread(&bus,sizeof(bus),1,fp))==1&&find=='n'){if(strcmp(bus.b_name,name)==0){find='y';break;}}if(find=='y'){printf("销售商名称:%s\n",bus.b_name);printf("销售商编号:%s\n",bus.b_name);printf("销售商状态:%s\n",bus.b_state);printf("所在城市:%s\n",bus.b_city);printf("请输入名称:");scanf("%s",bus.b_name);printf("请输入编号:");scanf("%s",bus.b_num);printf("请输入状态:");scanf("%s",bus.b_state);printf("请输入所在城市名:");scanf("%s",bus.b_city);fseek(fp,-(long)(sizeof(structbusiness)),1);/*文件标记向下*/fwrite(&bus,sizeof(bus),1,fp);}printf("是否接着:");/*提示是否接着修改另一已存用户信息*/scanf("%c",&flag);}fclose(fp);/*关闭文件*/}voidfind4()/*按销售商号修改*/{FILE*fp;structtotalbpb;charflag='y',find;charnum[20];if((fp=fopen("d:/f.txt","r+w"))==NULL)printf("\n\tThesystemcan'topenthefile!!");while(flag=='y'){printf("请输入您要修改的对应对中销售商编号:");scanf("%s",num);find='n';rewind(fp);while((fread(&bpb,sizeof(bpb),1,fp))==1&&find=='n'){if(strcmp(num,bpb.b_num)==0){find='y';break;}}if(find=='y'){printf("销售商编号:%s\n",bpb.b_num);printf("配件编号:%s\n",bpb.p_num);printf("建筑工地编号:%s\n",bpb.num);printf("供应配件数量:%s\n",bpb.num2);printf("请输入销售商编号:");scanf("%s",bpb.b_num);printf("请输入配件编号:");scanf("%s",bpb.p_num);printf("请输入建筑工地编号:");scanf("%s",bpb.num);printf("请输入供应配件数量:");scanf("%s",bpb.num2);fseek(fp,-(long)(sizeof(structtotal)),1);/*文件标记向下*/fwrite(&bpb,sizeof(bpb),1,fp);}printf("是否接着:");/*提示是否接着修改另一已存用户信息*/scanf("%c",&flag);}fclose(fp);/*关闭文件*/}(3)删除模块voiddel1(){structbuildingbuild;FILE*fp;if((fp=fopen("c.txt","r+w"))==NULL)printf("打开文件出错");{charflag='y';charfind='n';charmc[30];charn;while(flag=='y'){printf("请输入您要删除的建筑工地名称:");scanf("%s",mc);rewind(fp);while((fread(&build,sizeof(build),1,fp))==1&&find=='n'){if(strcmp(mc,)==0){find='y';break;}}if(find=='y'){printf("建筑工地名称:%s\n",);printf("建筑工地编号:%s\n",build.num);printf("建筑工地所在城市:%s\n",build.city);printf("是否确定删除y/n:");scanf("%c",&n);if(n=='y')strcpy(,"");strcpy(build.num,"");strcpy(build.city,"");fseek(fp,-(long)(sizeof(structbuilding)),1);fwrite(&build,sizeof(build),1,fp);printf("删除胜利\n");}printf("是否接着删除y/n:\n");scanf("%c",&flag);}fclose(fp);}}voiddel2(){structpeijianpj;FILE*fp;if((fp=fopen("d.txt","r+w"))==NULL)printf("打开文件出错");{charflag='y';charfind='n';charmc[30];charn;while(flag=='y'){printf("请输入您要删除的配件名称:");scanf("%s",mc);rewind(fp);while((fread(&pj,sizeof(pj),1,fp))==1&&find=='n'){if(strcmp(mc,pj.p_name)==0){find='y';break;}}if(find=='y'){printf("名称:%s\n",pj.p_name);printf("编号:%s\n",pj.p_num);printf("颜色:%s\n",pj.p_colour);printf("重量:%s\n",pj.p_weight);printf("产地:%s\n",pj.p_area);printf("是否确定删除y/n:");scanf("%c",&n);if(n=='y')strcpy(pj.p_name,"");strcpy(pj.p_num,"");strcpy(pj.p_colour,"");strcpy(pj.p_weight,"");strcpy(pj.p_area,"");fseek(fp,-(long)(sizeof(structpeijian)),1);fwrite(&pj,sizeof(pj),1,fp);printf("删除胜利\n");}printf("是否接着删除y/n:\n");scanf("%c",&flag);}fclose(fp);}}voiddel3(){structbusinessbus;FILE*fp;if((fp=fopen("e.txt","r+w"))==NULL)printf("打开文件出错");{charflag='y';charfind='n';charmc[30];charn;while(flag=='y'){printf("请输入您要删除的销售商名称:");scanf("%s",mc);rewind(fp);while((fread(&bus,sizeof(bus),1,fp))==1&&find=='n'){if(strcmp(mc,bus.b_name)==0){find='y';break;}}if(find=='y'){printf("销售商名称:%s\n",bus.b_name);printf("销售商编号:%s\n",bus.b_num);printf("销售商状态:%s\n",bus.b_state);printf("销售商所在城市:%s\n",bus.b_city);printf("是否确定删除y/n:");scanf("%c",&n);if(n=='y')strcpy(bus.b_name,"");strcpy(bus.b_num,"");strcpy(bus.b_state,"");strcpy(bus.b_city,"");fseek(fp,-(long)(sizeof(structbusiness)),1);fwrite(&bus,sizeof(bus),1,fp);printf("删除胜利\n");}printf("是否接着删除y/n:\n");scanf("%c",&flag);}fclose(fp);}}voiddel4(){structtotalbpb;FILE*fp;if((fp=fopen("f.txt","r+w"))==NULL)printf("打开文件出错");{charflag='y';charfind='n';charbh[30];charn;while(flag=='y'){printf("请输入您要删除的销售商编号:");scanf("%s",bh);rewind(fp);while((fread(&bpb,sizeof(bpb),1,fp))==1&&find=='n'){if(strcmp(bh,bpb.b_num)==0){find='y';break;}}if(find=='y'){printf("销售商编号:%s\n",bpb.b_num);printf("配件编号:%s\n",bpb.p_num);printf("建筑工地编号:%s\n",bpb.num);printf("供应配件数量:%s\n",bpb.num2);printf("是否确定删除y/n:");scanf("%c",&n);if(n=='y')strcpy(bpb.b_num,"");strcpy(bpb.p_num,"");strcpy(bpb.num,"");strcpy(bpb.num2,"");fseek(fp,-(long)(sizeof(structtotal)),1);fwrite(&bpb,sizeof(bpb),1,fp);printf("删除胜利\n");}printf("是否接着删除y/n:\n");scanf("%c",&flag);}fclose(fp);}}(4)查询模块voidseek1(){FILE*fp1,*fp2;structpeijianpj;structbusinessbus;charflag='y',seek;if((fp1=fopen("d.txt","r+w"))==NULL||(fp2=fopen("e.txt","r+w"))==NULL)printf("\n\tThesystemcan'topenthefiles!!");while(flag='y'){seek='n';rewind(fp1);rewind(fp2);while((fread(&pj,sizeof(pj),1,fp1))==1&&(fread(&bus,sizeof(bus),1,fp2))==1&&seek=='n'){if(strcmp(pj.p_area,bus.b_city)==0){seek='y';break;}}if(seek='y'){printf("配件名称:%s\n",pj.p_name);printf("配件编号:%s\n",pj.p_num);printf("配件颜色:%s\n",pj.p_colour);printf("配件重量:%s\n",pj.p_weight);printf("配件产地:%s\n",pj.p_area);printf("名称:%s\n",bus.b_name);printf("编号:%s\n",bus.b_num);printf("状态:%s\n",bus.b_state);printf("销售商所在城市:%s\n",bus.b_city);}printf("是否接着:");/*提示是否接着修改另一配件信息*/scanf("%c",&flag);}fclose(fp1);fclose(fp2);/*关闭文件*/}voidseek2(){FILE*fp1,*fp2;structbuildingbuild;structbusinessbus;charflag='y',seek;if((fp1=fopen("c.txt","r+w"))==NULL||(fp2=fopen("e.txt","r+w"))==NULL)printf("\n\tThesystemcan'topenthefiles!!");while(flag='y'){seek='n';rewind(fp1);rewind(fp2);while((fread(&build,sizeof(build),1,fp1))==1&&(fread(&bus,sizeof(bus),1,fp2))==1&&seek=='n'){if(strcmp(build.city,bus.b_city)==0){seek='y';break;}}if(seek='y'){printf("建筑工地名称:%s\n",);printf("建筑工地编号:%s\n",build.num);printf("建筑工地所在城市:%s\n",&build.city);printf("名称:%s\n",bus.b_name);printf("编号:%s\n",bus.b_num);printf("状态:%s\n",bus.b_state);printf("销售商所在城市:%s\n",bus.b_city);}printf("是否接着:");/*提示是否接着修改另一配件信息*/scanf("%c",&flag);}fclose(fp1);fclose(fp2);/*关闭文件*/}(5)主函数voidmain(){printf("/****************************建筑工地信息管理系统******************************/\n");printf("/*****************************制作:张腾飞*******************************/\n");printf("/*****************************学号:20091004402*******************************/\n");printf("/*****************************班级:052091-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论