VC++建筑工地信息管理系统设计.docx

上传人:b****3 文档编号:4628085 上传时间:2022-12-07 格式:DOCX 页数:25 大小:106.43KB
下载 相关 举报
VC++建筑工地信息管理系统设计.docx_第1页
第1页 / 共25页
VC++建筑工地信息管理系统设计.docx_第2页
第2页 / 共25页
VC++建筑工地信息管理系统设计.docx_第3页
第3页 / 共25页
VC++建筑工地信息管理系统设计.docx_第4页
第4页 / 共25页
VC++建筑工地信息管理系统设计.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

VC++建筑工地信息管理系统设计.docx

《VC++建筑工地信息管理系统设计.docx》由会员分享,可在线阅读,更多相关《VC++建筑工地信息管理系统设计.docx(25页珍藏版)》请在冰豆网上搜索。

VC++建筑工地信息管理系统设计.docx

VC++建筑工地信息管理系统设计

 

建筑工地信息管理系统

一题目要求

建立如下四个文件(括号为文件中每条记录得字段容):

(1)销售商—配件—建筑工地(建筑商,配件号,工地号,数量)

(2)建筑工地(工地号,名字,城市)

(3)配件(配件号,配件名,颜色,重量,产地)

(4)销售商(,名字,状态,城市)

功能:

(1)首先建立文件,然后插入数据,并进行删除,更新操作,最后进行查询操作。

(2)查询与供应商所在城市相同的零件—供应商,项目—供应商记录对。

二需求分析

根据题目要求,由于销售商—配件—建筑工地,建筑工地,配件,销售商的各种信息要求以文本文件的方式存放在四个文件中,所以应提供文件的输入,输出等操作;在程序中要浏览销售商—配件—建筑工地,建筑工地,配件,销售商的各种信息,应提供显示,查找,增加,更新等操作;另外还应提供键盘式选择菜单实现功能选择。

三总体设计

我们来分析一下整个系统,根据上面的需求分析,可以将这个系统的设计分为如下五大模块:

输入,修改,删除,查询,退出。

其中输入,修改,删除,查询是四个主要功能。

四详细设计

1.定义结构体

#include

#include

#include

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",build.name);

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,build.name)==0)

{

find='y';

break;

}

}

if(find=='y')

{

printf("建筑工地名称:

%s\n",build.name);

printf("建筑工地编号:

%s\n",build.num);

printf("建筑工地所在城市:

%s\n",build.city);

printf("请输入建筑工地名称:

");

scanf("%s",build.name);

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,build.name)==0)

{

find='y';

break;

}

}

if(find=='y')

{

printf("建筑工地名称:

%s\n",build.name);

printf("建筑工地编号:

%s\n",build.num);

printf("建筑工地所在城市:

%s\n",build.city);

printf("是否确定删除y/n:

");

scanf("%c",&n);

if(n=='y')

strcpy(build.name,"");

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;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

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

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