C语言课设之建筑工地信息管理系统Word文档格式.docx
- 文档编号:20697098
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:36
- 大小:804.39KB
C语言课设之建筑工地信息管理系统Word文档格式.docx
《C语言课设之建筑工地信息管理系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言课设之建筑工地信息管理系统Word文档格式.docx(36页珍藏版)》请在冰豆网上搜索。
printf("
Choiceyournumber(1-12):
[]\b\b\b"
scanf("
%d"
&
n);
if(n<
1||n>
12)
{
w1=1;
getchar();
}
elsew1=0;
}
while(w1==1);
switch(n)
case1:
enter();
break;
case2:
add();
case3:
del();
case4:
modify();
case5:
insert();
case6:
browse();
case7:
browse_project();
case8:
browse_site();
case9:
browse_outfit();
case10:
browse_sale();
case11:
search();
case12:
exit(0);
3.各功能模块设计
(1)输入模块
//整个系统数据结构:
structproject
charsite_num[10];
charsite_name[20];
charsite_city[20];
charoutfit_num[10];
charoutfit_name[20];
charoutfit_color[10];
charoutfit_place[20];
charsale_num[10];
charsale_name[20];
charsale_state[10];
charsale_city[20];
intoutfit_n;
}pro[N];
注意:
pro[N]中的N为项目数量,本
程序宏定义#defineN50
//流程示意图:
//程序实现
enter()
inti,n;
printf("
Howmanyinformation(0-%d)?
:
"
N-1);
scanf("
\nEnterdatanow\n\n"
for(i=0;
i<
n;
i++)
printf("
\nInput%dthstudentrecord.\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()
inti,n,m,k;
FILE*fp;
n=load();
Howmanyrecordareyouwanttoadd(0-%d)?
N-1-n);
m);
k=m+n;
for(i=n;
k;
\nAddtion%dthprojectrecord.\n"
i-n+1);
input(i);
for(i=n;
if((fp=fopen("
main.txt"
"
ab"
))==NULL)
Cannotopenfile\n"
if(fwrite(&
pro[i],sizeof(structproject),1,fp)!
=1)
filewriteerror\n"
fclose(fp);
project.txt"
\nCannotopenfile\n"
returnNULL;
}fprintf(fp,"
%s,%s,%s,%d"
pro[i].sale_num,pro[i].outfit_num,
pro[i].site_num,pro[i].outfit_n);
fclose(fp);
site.txt"
fprintf(fp,"
%s,%s,%s"
pro[i].site_num,pro[i].site_name,
pro[i].site_city);
if((fp=fopen("
outfit.txt"
%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);
sale.txt"
%s,%s,%s,%s"
pro[i].sale_num,pro[i].sale_name,
pro[i].sale_state,pro[i].sale_city);
printf_back();
(3)删除模块
//删除模块程序
del()
structprojectp;
inti,n,w1,w2,j;
printf_face();
for(i=0;
printf_one(i);
\n\nWhichneededdelete?
Whatdoyouwantenter?
\n\t1).site_num2)outfit_num3)sale_num4)outfit_n5)NOandback\n"
Pleasechoose:
(1-5):
w2);
switch(w2)
case1:
printf("
site_num:
scanf("
%s"
p.site_num);
cas2:
outfit_num:
p.outfit_num);
case3:
sale_num:
p.sale_num);
case4:
outfit_n:
p.outfit_n);
case5:
menu();
for(j=i;
j<
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("
%dthrecordhasbeendeleted!
\n"
i-1);
n--;
save(n);
printf_face();
printf_one(i-1);
}
while(j<
Areyoudeleteanother?
?
\n\t1)Yes2)NoandBack"
i);
\t\nPleasechoose:
(1-2):
[]\b\b"
w1);
(4)修改模块
//流程图示意图
//修改模块程序
modify()
inti,n,k,w0=1,w1,w2=0;
k=-1;
if((i!
=0)&
&
(i%10==0))
{
\n\nRememberNO.whichneededmodify.
passanykeytocontinue..."
getch();
puts("
\n\n"
}
do
\n\nEnterSale_numthatyouwanttomodify!
sale_num:
scanf("
p.sale_num);
for(i=0;
if(strcmp(p.sale_num,pro[i].sale_num)==0)
{
k=i;
p=pro[i];
}
if(k==-1)printf("
\n\nNOexist!
pleaseagain"
}while(k==-1);
printf_one(k);
w1=modify_data(k,n);
if(w1=1)
\nSuccessful^-^.\n\nAreyoumodifyanother?
\n\t
1)Yes2)Backwithsave\t"
\nPleasechoose:
w0);
w2=1;
else
w0=0;
if(w2==1)
pro[k]=p;
if(w0!
=1&
w2==1)
}while(w0==1);
(5)插入模块
//插入模块
insert()
inti,j,n,c,t;
\nInputonedata.\n"
input(n);
printf_one(n);
\n\nAreyousure?
\n\n\t1).Sure\t2).cancelandagain\t
3).Backwithoutsave\n"
(1-3):
c);
if(c==1)
for(j=i;
n+1;
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();
elseif(c!
=2)
menu();
}while(c==2);
(6)浏览模块
//浏览模块示意图
//所有项目显示模块
browse()
inti,j,n;
printf_face();
if(i!
=0&
i%10==0)
\n\nPassanykeytocontinue..."
getch();
puts("
printf_one(i);
\t\nThereare%drecord.\n"
n);
\nPassanykeytoback..."
getch();
//销售商-配件-建筑工地浏览模块
browse_project()
printf_project1();
if(i!
printf_project(i);
//建筑工地浏览模块
browse_site()
printf_site1();
printf_site(i);
//配件浏览模块
browse_outfit()
printf_outfit1();
printf_outfit(i);
//销售商浏览模块
browse_sale()
printf_sale1();
printf_sale(i);
(7)查找模块
//查找示意图
//查找模块
search()
inti,j,n,k,w1=1,w2,w3,w4,w5;
do
k=-1;
printf_face();
for(i=0;
printf_one(i);
\n\nWhatnumdoyouwantenter?
\n\t1)sale_city2).site_city3)NOandback\n"
w5);
switch(w5)
sale_city:
p.sale_city);
case2:
site_city:
p.site_city);
if((strcmp(p.site_city,pro[i].site_city)&
strcmp(p.sale_city,pro[i].sale_city))==0)
printf_one(k);
if(k==-1)
printf("
\n\nAreyouagain?
\n\t1).again2)NOandback\n"
scanf("
if(w1==2)break;
while(k==-1&
w1==1);
w4=0;
w3=0;
if(k!
=-1)
\n\nWhatdoyouwanttodo?
\n\t1).Searchanother2).Modify3).Delete4).Backmenu\n"
(1-4):
switch(w2)
w3=modify_data(k,n);
{printf("
\nAreyousure?
\n\t1).Sure
2).Noandback"
w4);
if(w3==1||w4==1)
save(n);
\n\nSuccessful.^-^."
1).Searchanother2).Back\n"
scanf("
}while(w2==1);
4.公共函数
//保存整个系统数据
save(intn)
inti;
wb"
if(fwrite(&
=1)
//保存主项目
save_project(intn)
fprintf(fp,"
pro[i].sale_num,pro[i]
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 建筑工地 信息管理 系统