《C语言课程设计仓库管理系统计算机NET_计算机-C++资料.pdf》由会员分享,可在线阅读,更多相关《C语言课程设计仓库管理系统计算机NET_计算机-C++资料.pdf(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 C 语言课程设计 仓库管理系统#include struct cangku int num;char name20;char introdution50;float square;typedef struct cangku Cangku;int Input(Cangku t);void List(Cangku t,int n);void SearchOnName(Cangku t,int n);int DeleteRecord(Cangku t,int n);int AlterRecord(Cangku t,int n);int AddRecord(Cangku t,int n);void
2、SortOnName(Cangku t,int n);void SortOnSquare(Cangku t,int n);void SaveRecord(Cangku t,int n);int LoadRecord(Cangku t);int LoadRecord1(Cangku t);void Save(Cangku t,int n);void Load(Cangku t,int n);void Load1(Cangku t);int Menu_select();void main()Cangku ck50;int i,l,length,w=1;int q4=5,2,1,0;system(c
3、ls);printf(请输入第 1 个密码:n);for(i=0;i4;i+)scanf(%d,&l);system(cls);if(l=qi)printf(正确,继续输入第%d 个密码:.n,i+2);else w=0;printf(输入错误!n);break;while(w)switch(Menu_select()case 1:length=Input(ck);SaveRecord(ck,length);break;case 2:length=LoadRecord(ck);SearchOnName(ck,length);break;case 3:length=LoadRecord(ck);
4、length=DeleteRecord(ck,length);SaveRecord(ck,length);break;case 4:length=LoadRecord(ck);length=AlterRecord(ck,length);SaveRecord(ck,length);break;case 5:length=LoadRecord(ck);length=AddRecord(ck,length);SaveRecord(ck,length);break;case 6:length=LoadRecord(ck);system(cls);List(ck,length);break;case 7
5、:length=LoadRecord(ck);system(cls);SortOnName(ck,length);SaveRecord(ck,length);break;case 8:length=LoadRecord(ck);system(cls);SortOnSquare(ck,length);SaveRecord(ck,length);break;case 9:length=LoadRecord(ck);system(cls);Save(ck,length);break;case 0:length=LoadRecord1(ck);Load1(ck);称查找记录按任意键进入仓库管理菜单输入
6、您想要进行的操作选项键删除仓库记录修改仓库记录增加仓库信息显示全部记录按仓库名称排序按仓库面积排序备份恢复退出请输入要输入的仓库数目开始输入仓库信息第个仓库的编号第说明编号名称面积要查找的仓库不存在请输入要删除的仓库名称要删除的仓库信息如下说明编号名称面积确定删除仓库信息吗删除成功要删除的仓库不存在请输入要修改的仓库名称要修改的仓库信息如下说明编号名称面积确定修改明要修改的仓库不存在请输入再增加的记录数开始追加记录第个仓库的编号第个仓库的名称第个仓库的面积第个仓库的说明排序成功排序后仓库信息列表如下排序成功排序后仓库信息列表如下不能打开文件不能打开文件从文件中成 system(cls);Loa
7、d(ck,length);break;case 10:exit(0);int Menu_select()int c;printf(按任意键进入仓库管理菜单 n);getchar();system(cls);system(color F0);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.按仓库面
8、积排序*n);printf(*9.备 份*n);printf(*0.恢 复*n);printf(*10.退 出*n);printf(*n);do printf(n 输入您想要进行的操作选项键(0-10):);称查找记录按任意键进入仓库管理菜单输入您想要进行的操作选项键删除仓库记录修改仓库记录增加仓库信息显示全部记录按仓库名称排序按仓库面积排序备份恢复退出请输入要输入的仓库数目开始输入仓库信息第个仓库的编号第说明编号名称面积要查找的仓库不存在请输入要删除的仓库名称要删除的仓库信息如下说明编号名称面积确定删除仓库信息吗删除成功要删除的仓库不存在请输入要修改的仓库名称要修改的仓库信息如下说明编号名称
9、面积确定修改明要修改的仓库不存在请输入再增加的记录数开始追加记录第个仓库的编号第个仓库的名称第个仓库的面积第个仓库的说明排序成功排序后仓库信息列表如下排序成功排序后仓库信息列表如下不能打开文件不能打开文件从文件中成 if(scanf(%d,&c)!=1)while(getchar()!=n)continue;while(c10);return c;int Input(Cangku t)int i,n;system(cls);printf(n 请输入要输入的仓库数目:n);scanf(%d,&n);printf(开始输入仓库信息:n);for(i=0;in;i+)system(cls);prin
10、tf(n 第%d 个仓库的编号:,i+1);scanf(%d,&ti.num);printf(第%d 个仓库的名称:,i+1);scanf(%s,ti.name);printf(第%d 个仓库的面积:,i+1);scanf(%f,&ti.square);printf(第%d 个仓库的说明:,i+1);scanf(%s,ti.introdution);return(n);void List(Cangku t,int n)int i;printf(*n);printf(*编 号 名称 面积 说明 n);printf(-n);for(i=0;in;i+)printf(%17d%13s%20f%14s
11、n,ti.num,ti.name,ti.square,ti.introdution);printf(称查找记录按任意键进入仓库管理菜单输入您想要进行的操作选项键删除仓库记录修改仓库记录增加仓库信息显示全部记录按仓库名称排序按仓库面积排序备份恢复退出请输入要输入的仓库数目开始输入仓库信息第个仓库的编号第说明编号名称面积要查找的仓库不存在请输入要删除的仓库名称要删除的仓库信息如下说明编号名称面积确定删除仓库信息吗删除成功要删除的仓库不存在请输入要修改的仓库名称要修改的仓库信息如下说明编号名称面积确定修改明要修改的仓库不存在请输入再增加的记录数开始追加记录第个仓库的编号第个仓库的名称第个仓库的面积第
12、个仓库的说明排序成功排序后仓库信息列表如下排序成功排序后仓库信息列表如下不能打开文件不能打开文件从文件中成 *n);printf(n);getchar();void SearchOnName(Cangku t,int n)char s20;int i,flag=0;system(cls);printf(请输入要查找的仓库名称:n);scanf(%s,s);for(i=0;in;i+)if(strcmp(s,ti.name)=0)flag=1;system(cls);printf(nn 要查找的仓库信息如下 :n);printf(n);printf(*n);printf(*编 号 名称 面积 说
13、明 n);printf(-n);printf(%17d%13s%20f%14sn,ti.num,ti.name,ti.square,ti.introdution);printf(*n);printf(n);if(flag=0)printf(要查找的仓库不存在 !n);getchar();int DeleteRecord(Cangku t,int n)char s20;char ch;int i,j,flag=0;称查找记录按任意键进入仓库管理菜单输入您想要进行的操作选项键删除仓库记录修改仓库记录增加仓库信息显示全部记录按仓库名称排序按仓库面积排序备份恢复退出请输入要输入的仓库数目开始输入仓库信
14、息第个仓库的编号第说明编号名称面积要查找的仓库不存在请输入要删除的仓库名称要删除的仓库信息如下说明编号名称面积确定删除仓库信息吗删除成功要删除的仓库不存在请输入要修改的仓库名称要修改的仓库信息如下说明编号名称面积确定修改明要修改的仓库不存在请输入再增加的记录数开始追加记录第个仓库的编号第个仓库的名称第个仓库的面积第个仓库的说明排序成功排序后仓库信息列表如下排序成功排序后仓库信息列表如下不能打开文件不能打开文件从文件中成 system(cls);printf(请输入要删除的仓库名称 n);scanf(%s,s);for(i=0;in;i+)if(strcmp(s,ti.name)=0)flag=
15、1;system(cls);printf(nn 要删除的仓库信息如下 :n);printf(n);printf(*n);printf(*编 号 名称 面积 说明 n);printf(-n);printf(%17d%13s%20f%14sn,ti.num,ti.name,ti.square,ti.introdution);printf(*n);printf(n);printf(确定删除仓库信息吗?(Y/N)n);ch=getchar();ch=getchar();if(ch=Y|ch=y)for(j=i;jn-1;j+)tj=tj+1;n-;i-;printf(删除成功.n);if(flag=0
16、)printf(要删除的仓库不存在 !n);getchar();return n;int AlterRecord(Cangku t,int n)称查找记录按任意键进入仓库管理菜单输入您想要进行的操作选项键删除仓库记录修改仓库记录增加仓库信息显示全部记录按仓库名称排序按仓库面积排序备份恢复退出请输入要输入的仓库数目开始输入仓库信息第个仓库的编号第说明编号名称面积要查找的仓库不存在请输入要删除的仓库名称要删除的仓库信息如下说明编号名称面积确定删除仓库信息吗删除成功要删除的仓库不存在请输入要修改的仓库名称要修改的仓库信息如下说明编号名称面积确定修改明要修改的仓库不存在请输入再增加的记录数开始追加记录
17、第个仓库的编号第个仓库的名称第个仓库的面积第个仓库的说明排序成功排序后仓库信息列表如下排序成功排序后仓库信息列表如下不能打开文件不能打开文件从文件中成 int i,flag=0;char s20,ch;system(cls);printf(请输入要修改的仓库名称 n);scanf(%s,s);for(i=0;in;i+)if(strcmp(s,ti.name)=0)flag=1;system(cls);printf(nn 要修改的仓库信息如下:n);printf(n);printf(*n);printf(*编号 名称 面积 说明 n);printf(-n);printf(%17d%13s%20
18、f%14sn,ti.num,ti.name,ti.square,ti.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,ti.name);printf(请输入%s 仓库新的编号:,ti.name);scanf(%d,&ti.num);printf(请输入%s 仓库新的面积:,ti.name);scanf(%f,&ti.squar
19、e);printf(请输入%s 仓库新的说明:,ti.name);scanf(%s,ti.introdution);称查找记录按任意键进入仓库管理菜单输入您想要进行的操作选项键删除仓库记录修改仓库记录增加仓库信息显示全部记录按仓库名称排序按仓库面积排序备份恢复退出请输入要输入的仓库数目开始输入仓库信息第个仓库的编号第说明编号名称面积要查找的仓库不存在请输入要删除的仓库名称要删除的仓库信息如下说明编号名称面积确定删除仓库信息吗删除成功要删除的仓库不存在请输入要修改的仓库名称要修改的仓库信息如下说明编号名称面积确定修改明要修改的仓库不存在请输入再增加的记录数开始追加记录第个仓库的编号第个仓库的名称
20、第个仓库的面积第个仓库的说明排序成功排序后仓库信息列表如下排序成功排序后仓库信息列表如下不能打开文件不能打开文件从文件中成 if(flag=0)printf(要修改的仓库不存在!n);getchar();return n;int AddRecord(Cangku t,int n)int i,m;system(cls);printf(n 请输入再增加的记录数:n);scanf(%d,&m);printf(开始追加记录 n);for(i=n;in+m;i+)system(cls);printf(n 第%d 个仓库的编号:,i+1);scanf(%d,&ti.num);printf(第%d 个仓库的
21、名称:,i+1);scanf(%s,ti.name);printf(第%d 个仓库的面积:,i+1);scanf(%f,&ti.square);printf(第%d 个仓库的说明:,i+1);scanf(%s,ti.introdution);return(n+m);void SortOnName(Cangku t,int n)int i,j;struct cangku temp;for(j=1;jn;j+)for(i=0;i0)temp=ti;ti=ti+1;ti+1=temp;printf(排序成功!n);printf(排序后仓库信息列表如下:n);List(t,n);void SortOn
22、Square(Cangku t,int n)称查找记录按任意键进入仓库管理菜单输入您想要进行的操作选项键删除仓库记录修改仓库记录增加仓库信息显示全部记录按仓库名称排序按仓库面积排序备份恢复退出请输入要输入的仓库数目开始输入仓库信息第个仓库的编号第说明编号名称面积要查找的仓库不存在请输入要删除的仓库名称要删除的仓库信息如下说明编号名称面积确定删除仓库信息吗删除成功要删除的仓库不存在请输入要修改的仓库名称要修改的仓库信息如下说明编号名称面积确定修改明要修改的仓库不存在请输入再增加的记录数开始追加记录第个仓库的编号第个仓库的名称第个仓库的面积第个仓库的说明排序成功排序后仓库信息列表如下排序成功排序后
23、仓库信息列表如下不能打开文件不能打开文件从文件中成 int i,j;struct cangku temp;for(j=1;jn;j+)for(i=0;in-j;i+)if(ti.squareti+1.square)temp=ti;ti=ti+1;ti+1=temp;printf(排序成功!n);printf(排序后仓库信息列表如下:n);List(t,n);void SaveRecord(Cangku t,int n)int i;FILE*fp;if(fp=fopen(record.txt,w)=NULL)printf(不能打开文件!n);exit(1);for(i=0;in;i+)fwrit
24、e(&ti,sizeof(struct cangku),1,fp);fclose(fp);int LoadRecord(Cangku t)int n=0;FILE*fp;if(fp=fopen(record.txt,a+)=NULL)printf(不能打开文件!n);exit(1);while(fread(&tn,sizeof(struct cangku),1,fp)n+;fclose(fp);printf(从文件中成功读出记录 !n);return n;int LoadRecord1(Cangku t)称查找记录按任意键进入仓库管理菜单输入您想要进行的操作选项键删除仓库记录修改仓库记录增加仓
25、库信息显示全部记录按仓库名称排序按仓库面积排序备份恢复退出请输入要输入的仓库数目开始输入仓库信息第个仓库的编号第说明编号名称面积要查找的仓库不存在请输入要删除的仓库名称要删除的仓库信息如下说明编号名称面积确定删除仓库信息吗删除成功要删除的仓库不存在请输入要修改的仓库名称要修改的仓库信息如下说明编号名称面积确定修改明要修改的仓库不存在请输入再增加的记录数开始追加记录第个仓库的编号第个仓库的名称第个仓库的面积第个仓库的说明排序成功排序后仓库信息列表如下排序成功排序后仓库信息列表如下不能打开文件不能打开文件从文件中成 int n=0;FILE*fp;if(fp=fopen(bkrecord.txt,
26、a+)=NULL)printf(不能打开文件!n);exit(1);while(fread(&tn,sizeof(struct cangku),1,fp)n+;fclose(fp);printf(从文件中成功读出记录 !n);return n;void Save(Cangku t,int n)int i;FILE*fp;if(fp=fopen(bkrecord.txt,w)=NULL)printf(不能打开文件!n);exit(1);for(i=0;in;i+)fwrite(&ti,sizeof(struct cangku),1,fp);fclose(fp);printf(备份成功.n);ge
27、tchar();void Load1(Cangku t)int n=0;FILE*fp;if(fp=fopen(bkrecord.txt,a+)=NULL)printf(不能打开文件!n);exit(1);while (fread(&tn,sizeof(struct cangku),1,fp)n+;fclose(fp);getchar();称查找记录按任意键进入仓库管理菜单输入您想要进行的操作选项键删除仓库记录修改仓库记录增加仓库信息显示全部记录按仓库名称排序按仓库面积排序备份恢复退出请输入要输入的仓库数目开始输入仓库信息第个仓库的编号第说明编号名称面积要查找的仓库不存在请输入要删除的仓库名称
28、要删除的仓库信息如下说明编号名称面积确定删除仓库信息吗删除成功要删除的仓库不存在请输入要修改的仓库名称要修改的仓库信息如下说明编号名称面积确定修改明要修改的仓库不存在请输入再增加的记录数开始追加记录第个仓库的编号第个仓库的名称第个仓库的面积第个仓库的说明排序成功排序后仓库信息列表如下排序成功排序后仓库信息列表如下不能打开文件不能打开文件从文件中成 void Load(Cangku t,int n)int i;FILE*fp;if(fp=fopen(record.txt,w)=NULL)printf(不能打开文件!n);exit(1);for(i=0;in;i+)fwrite(&ti,sizeo
29、f(struct cangku),1,fp);fclose(fp);printf(恢复成功.n);1 1 1 称查找记录按任意键进入仓库管理菜单输入您想要进行的操作选项键删除仓库记录修改仓库记录增加仓库信息显示全部记录按仓库名称排序按仓库面积排序备份恢复退出请输入要输入的仓库数目开始输入仓库信息第个仓库的编号第说明编号名称面积要查找的仓库不存在请输入要删除的仓库名称要删除的仓库信息如下说明编号名称面积确定删除仓库信息吗删除成功要删除的仓库不存在请输入要修改的仓库名称要修改的仓库信息如下说明编号名称面积确定修改明要修改的仓库不存在请输入再增加的记录数开始追加记录第个仓库的编号第个仓库的名称第个仓库的面积第个仓库的说明排序成功排序后仓库信息列表如下排序成功排序后仓库信息列表如下不能打开文件不能打开文件从文件中成