C语言课程设计仓库管理系统.docx
- 文档编号:7881718
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:18
- 大小:16.61KB
C语言课程设计仓库管理系统.docx
《C语言课程设计仓库管理系统.docx》由会员分享,可在线阅读,更多相关《C语言课程设计仓库管理系统.docx(18页珍藏版)》请在冰豆网上搜索。
C语言课程设计仓库管理系统
C语言课程设计仓库管理系统
#include
structcangku
{
intnum;
charname[20];
charintrodution[50];
floatsquare;
};
typedefstructcangkuCangku;
intInput(Cangkut[]);
voidList(Cangkut[],intn);
voidSearchOnName(Cangkut[],intn);
intDeleteRecord(Cangkut[],intn);
intAlterRecord(Cangkut[],intn);
intAddRecord(Cangkut[],intn);
voidSortOnName(Cangkut[],intn);
voidSortOnSquare(Cangkut[],intn);
voidSaveRecord(Cangkut[],intn);
intLoadRecord(Cangkut[]);
intLoadRecord1(Cangkut[]);
voidSave(Cangkut[],intn);
voidLoad(Cangkut[],intn);
voidLoad1(Cangkut[]);
intMenu_select();
voidmain()
{
Cangkuck[50];
inti,l,length,w=1;
intq[4]={5,2,1,0};
system("cls");
printf("请输入第1个密码:
\n");
for(i=0;i<4;i++)
{
scanf("%d",&l);
system("cls");
if(l==q[i])
printf("正确,继续输入第%d个密码:
.\n",i+2);
else
{
w=0;
printf("输入错误!
\n");
break;
}
}
while(w)
{
switch(Menu_select())
{
case1:
length=Input(ck);
SaveRecord(ck,length);
break;
case2:
length=LoadRecord(ck);
SearchOnName(ck,length);
break;
case3:
length=LoadRecord(ck);
length=DeleteRecord(ck,length);
SaveRecord(ck,length);
break;
case4:
length=LoadRecord(ck);
length=AlterRecord(ck,length);
SaveRecord(ck,length);
break;
case5:
length=LoadRecord(ck);
length=AddRecord(ck,length);
SaveRecord(ck,length);
break;
case6:
length=LoadRecord(ck);
system("cls");
List(ck,length);
break;
case7:
length=LoadRecord(ck);
system("cls");
SortOnName(ck,length);
SaveRecord(ck,length);
break;
case8:
length=LoadRecord(ck);
system("cls");
SortOnSquare(ck,length);
SaveRecord(ck,length);
break;
case9:
length=LoadRecord(ck);
system("cls");
Save(ck,length);
break;
case0:
length=LoadRecord1(ck);
Load1(ck);
system("cls");
Load(ck,length);
break;
case10:
exit(0);
}
}
}
intMenu_select()
{
intc;
printf("按任意键进入仓库管理菜单\n");
getchar();
system("cls");
system("colorF0");
printf("
******************************
仓库
管理
*******************************\n");
printf("
*
1.录入仓库初始记录
*\n");
printf("
*
2.按仓库名称查找记录
*\n");
printf("
*
3.
删除仓库记录
*\n");
printf("
*
4.
修改仓库记录
*\n");
printf("
*
5.增加仓库信息
*\n");
printf("
*
6.
显示全部记录
*\n");
printf("
*
7.
按仓库名称排序
*\n");
printf("
*
8.
按仓库面积排序
*\n");
printf("
*
9.
备份
*\n");
printf("
*
0.
恢复
*\n");
printf("
*
10.
退出
*\n");
printf("
*********************************************************************
\n");
do
{
printf("\n输入您想要进行的操作选项键(0-10):
");
if(scanf("%d",&c)!
=1)
{
while(getchar()!
='\n')
continue;
}
}
while(c<0||c>10);
returnc;
}
intInput(Cangkut[])
{
inti,n;
system("cls");
printf("\n请输入要输入的仓库数目:
\n");
scanf("%d",&n);
printf("开始输入仓库信息:
\n");
for(i=0;i { system("cls"); printf("\n第%d个仓库的编号: ",i+1); scanf("%d",&t[i].num); printf("第%d个仓库的名称: ",i+1); scanf("%s",t[i].name); printf("第%d个仓库的面积: ",i+1); scanf("%f",&t[i].square); printf("第%d个仓库的说明: ",i+1); scanf("%s",t[i].introdution); } return(n); } voidList(Cangkut[],intn) { inti; printf(" ********************************************************************* \n"); printf(" ** 编号 名称 面积 说明\n"); printf(" ---------------------------------------------------------------------\n"); for(i=0;i { printf("%17d%13s%20f%14s\n",t[i].num,t[i].name,t[i].square,t[i].introdution); } printf(" *********************************************************************\n"); printf("\n"); getchar(); } voidSearchOnName(Cangkut[],intn) { chars[20]; inti,flag=0; system("cls"); printf("请输入要查找的仓库名称: \n"); scanf("%s",s); for(i=0;i { if(strcmp(s,t[i].name)==0) { flag=1; system("cls"); printf("\n\n要查找的仓库信息如下: \n"); printf("\n"); printf(" ********************************************************************* \n"); printf(" ** 编号 名称 面积 说明\n"); printf(" ---------------------------------------------------------------------\n"); { printf("%17d%13s%20f%14s\n",t[i].num,t[i].name,t[i].square,t[i].introdution); } printf(" ********************************************************************* \n"); printf("\n"); } } if(flag==0) printf("要查找的仓库不存在! ! \n"); getchar(); } intDeleteRecord(Cangkut[],intn) { chars[20]; charch; inti,j,flag=0; system("cls"); printf("请输入要删除的仓库名称\n"); scanf("%s",s); for(i=0;i { if(strcmp(s,t[i].name)==0) { flag=1; system("cls"); printf("\n\n要删除的仓库信息如下: \n"); printf("\n"); printf(" ********************************************************************* \n"); printf(" ** 编号 名称 面积 说明\n"); printf(" ---------------------------------------------------------------------\n"); { printf("%17d%13s%20f%14s\n",t[i].num,t[i].name,t[i].square,t[i].introdution); } printf(" ********************************************************************* \n"); printf("\n"); printf("确定删除仓库信息吗? (Y/N)\n"); ch=getchar(); ch=getchar(); if(ch=='Y'||ch=='y') { for(j=i;j t[j]=t[j+1]; n--; i--; printf("删除成功.\n"); } } } if(flag==0) printf("要删除的仓库不存在! ! \n"); getchar(); returnn; } intAlterRecord(Cangkut[],intn) { inti,flag=0; chars[20],ch; system("cls"); printf("请输入要修改的仓库名称\n"); scanf("%s",s); for(i=0;i { if(strcmp(s,t[i].name)==0) { flag=1; system("cls"); printf("\n\n要修改的仓库信息如下: \n"); printf("\n"); printf(" ********************************************************************* \n"); printf(" ** 编号 名称 面积 说明\n"); printf(" ---------------------------------------------------------------------\n"); { printf("%17d%13s%20f%14s\n",t[i].num,t[i].name,t[i].square,t[i].introdution); } printf(" ********************************************************************* \n"); printf("\n"); printf("确定修改仓库信息吗? (Y/N)\n"); ch=getchar(); ch=getchar(); if(ch=='y'||ch=='Y') { system("cls"); printf("请输入修改后的信息: \n"); printf("请输入仓库新的名称: "); scanf("%s",t[i].name); printf("请输入%s仓库新的编号: ",t[i].name); scanf("%d",&t[i].num); printf("请输入%s仓库新的面积: ",t[i].name); scanf("%f",&t[i].square); printf("请输入%s仓库新的说明: ",t[i].name); scanf("%s",t[i].introdution); } } } if(flag==0) printf("要修改的仓库不存在! ! \n"); getchar(); returnn; } intAddRecord(Cangkut[],intn) { inti,m; system("cls"); printf("\n请输入再增加的记录数: \n"); scanf("%d",&m); printf("开始追加记录\n"); for(i=n;i {system("cls"); printf("\n第%d个仓库的编号: ",i+1); scanf("%d",&t[i].num); printf("第%d个仓库的名称: ",i+1); scanf("%s",t[i].name); printf("第%d个仓库的面积: ",i+1); scanf("%f",&t[i].square); printf("第%d个仓库的说明: ",i+1); scanf("%s",t[i].introdution); } return(n+m); } voidSortOnName(Cangkut[],intn) { inti,j; structcangkutemp; for(j=1;j for(i=0;i if((strcmp(t[i].name,t[i+1].name))>0) { temp=t[i]; t[i]=t[i+1]; t[i+1]=temp; } printf("排序成功! ! ! \n"); printf("排序后仓库信息列表如下: \n"); List(t,n); } voidSortOnSquare(Cangkut[],intn) { inti,j; structcangkutemp; for(j=1;j for(i=0;i if(t[i].square { temp=t[i]; t[i]=t[i+1]; t[i+1]=temp; } printf("排序成功! ! ! \n"); printf("排序后仓库信息列表如下: \n"); List(t,n); } voidSaveRecord(Cangkut[],intn) { inti; FILE*fp; if((fp=fopen("record.txt","w"))==NULL) { printf("不能打开文件! \n"); exit (1); } for(i=0;i { fwrite(&t[i],sizeof(structcangku),1,fp); } fclose(fp); } intLoadRecord(Cangkut[]) { intn=0; FILE*fp; if((fp=fopen("record.txt","a+"))==NULL) { printf("不能打开文件! \n"); exit (1); } while(fread(&t[n],sizeof(structcangku),1,fp))n++; fclose(fp); printf("从文件中成功读出记录! ! ! \n"); returnn; } intLoadRecord1(Cangkut[]) { intn=0; FILE*fp; if((fp=fopen("bkrecord.txt","a+"))==NULL) { printf("不能打开文件! \n"); exit (1); } while(fread(&t[n],sizeof(structcangku),1,fp))n++; fclose(fp); printf("从文件中成功读出记录! ! ! \n"); returnn; } voidSave(Cangkut[],intn) { inti; FILE*fp; if((fp=fopen("bkrecord.txt","w"))==NULL) { printf("不能打开文件! \n"); exit (1); } for(i=0;i { fwrite(&t[i],sizeof(structcangku),1,fp); } fclose(fp); printf("备份成功.\n"); getchar(); } voidLoad1(Cangkut[]) { intn=0; FILE*fp; if((fp=fopen("bkrecord.txt","a+"))==NULL) { printf("不能打开文件! \n"); exit (1); } while (fread(&t[n],sizeof(structcangku),1,fp))n++; fclose(fp); getchar(); } voidLoad(Cangkut[],intn) { inti; FILE*fp; if((fp=fopen("record.txt","w"))==NULL) { printf("不能打开文件! \n"); exit (1); } for(i=0;i { fwrite(&t[i],sizeof(structcangku),1,fp); } fclose(fp); printf("恢复成功.\n"); }1 1 1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 仓库 管理 系统