linux.c课程设计-仓库管理系统_第1页
linux.c课程设计-仓库管理系统_第2页
linux.c课程设计-仓库管理系统_第3页
linux.c课程设计-仓库管理系统_第4页
linux.c课程设计-仓库管理系统_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

单片机课程设计PAGE12一实验名称:仓库管理系统二实验目的:利用linux.c语言编写一个仓库管理系统。三实验内容和要求:查看仓库信息:显示仓库所有的货物的信息[例如:货物的编号、货物的名字、货物的剩余量等]入库功能:增加现有货物的库存量出库功能:减少现有货物的库存量维护功能:维护货物信息[例如:增加新货物种类、修改货物的名字等]5.离开四实验环境:Linux.c语言编译环境五操作方法与实验步骤:编程程序测试调试改进六源代码和截图#include<stdio.h>#include<string.h>#include<stdlib.h>#include<conio.h>structcangku //结构体构建{ intnum; charname[20]; charintrodution[50]; floatsquare;};typedefstructcangkuCangku;intShuru(Cangkut[]);voidMulu(Cangkut[],intn);voidChazhao(Cangkut[],intn);intShanchu(Cangkut[],intn);intXiugai(Cangkut[],intn);intZengjia(Cangkut[],intn);voidBaocunjilu(Cangkut[],intn);intJiazaijilu(Cangkut[]);intJiazaijilu1(Cangkut[]);intXuanzemulu();intXuanzemuluYK();intmain() //主函数输入正确密码进入选择目录{Cangkuck[50];inti,l,x,length,w=1;intn=1;intq=1234;system("cls");//清屏printf("进入管理员界面请输入1\n");printf("进入游客界面请输入2\n");printf("请输入:\n");scanf("%d",&x);if(x==1){system("cls");printf("请输入管理员密码:\n");scanf("%d",&l);system("cls");if(l==q){printf("正确,按任意键进入仓库管理菜单");getchar();}else{w=0;printf("输入错误!\n");}while(w){switch(Xuanzemulu()){case1:length=Shuru(ck);Baocunjilu(ck,length);break;case2:length=Jiazaijilu(ck);Chazhao(ck,length);break;case3:length=Jiazaijilu(ck);length=Shanchu(ck,length);Baocunjilu(ck,length);break;case4:length=Jiazaijilu(ck);length=Xiugai(ck,length);Baocunjilu(ck,length);break;case5:length=Jiazaijilu(ck);length=Zengjia(ck,length);Baocunjilu(ck,length);break;case6:length=Jiazaijilu(ck);system("cls");Mulu(ck,length);break;case7:exit(0);}}}elseif(x==2){while(n){switch(XuanzemuluYK()){case1:length=Jiazaijilu(ck);system("cls");Mulu(ck,length);break;case2:exit(0);}}}}intXuanzemulu() //管理员选择目录根据数字选择进入的界面{ 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("*********************************************************************\n"); do { printf("\n输入您想要进行的操作选项键(0-7):"); if(scanf("%d",&c)!=1) { while(getchar()!='\n') continue; } } while(c<0||c>7);//输入数字在0-10之间 returnc;}intXuanzemuluYK() //游客选择目录根据数字选择进入的界面{ intc; printf("按任意键进入仓库管理菜单\n"); getchar(); system("cls"); system("colorF0"); printf("**************************仓库管理游客界面***************************\n"); printf("*1.显示全部记录*\n"); printf("*2.退出*\n"); printf("*********************************************************************\n"); do { printf("\n输入您想要进行的操作选项键(0-2):"); if(scanf("%d",&c)!=1) { while(getchar()!='\n') continue; } } while(c<1||c>2);//输入数字在0-10之间 returnc;}intShuru(Cangkut[]) //输入函数输入储存物品信息{ inti,n; system("cls"); printf("\n请输入要输入的仓库数目:\n"); scanf("%d",&n); printf("开始输入仓库信息:\n"); for(i=0;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);}voidMulu(Cangkut[],intn) //目录显示界面信息{ inti; printf("*********************************************************************\n"); printf("**编号名称数量说明\n"); printf("\n"); for(i=0;i<n;i++) { printf("%17d%13s%20f%14s\n",t[i].num,t[i].name,t[i].square,t[i].introdution); //对应位置显示信息 } printf("*********************************************************************\n"); printf("\n"); getchar();}voidChazhao(Cangkut[],intn) //查找信息{ chars[20]; inti,flag=0; system("cls"); printf("请输入要查找的仓库名称:\n"); scanf("%s",s); for(i=0;i<n;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();}intShanchu(Cangkut[],intn) //删除选项{ chars[20]; charch; inti,j,flag=0; system("cls"); printf("请输入要删除的仓库名称\n"); scanf("%s",s); for(i=0;i<n;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') //如果输入为Y或y则判定删除 { for(j=i;j<n-1;j++) t[j]=t[j+1]; n--; i--; printf("删除成功.\n"); } } } if(flag==0) { printf("要删除的仓库不存在!!\n"); } getchar(); returnn;}intXiugai(Cangkut[],intn) //修改选项{ inti,flag=0; chars[20],ch; system("cls"); printf("请输入要修改的仓库名称\n"); scanf("%s",s); for(i=0;i<n;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;}intZengjia(Cangkut[],intn) //增加选项{ inti,m; system("cls"); printf("\n请输入再增加的记录数:\n"); scanf("%d",&m); printf("开始追加记录\n"); for(i=n;i<n+m;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);}voidBaocunjilu(Cangkut[],intn) //保存信息记录,创建.txt文档{ inti; FILE*fp; if((fp=fopen("record.txt","w"))==NULL) { printf("不能打开文件!\n"); exit(1); } for(i=0;i<n;i++) { fwrite(&t[i],sizeof(structcangku),1,fp); } fclose(fp);}intJiazaijilu(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;}intJiazaijilu1(Cangkut[]){ intn=0; FILE*fp; if((fp=fopen("bkrecord.txt","a+"))==NULL) { printf("不能打开文件!\n"); exit(1); } while(fread(&t[n],sizeof(structcan

温馨提示

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

评论

0/150

提交评论