C语言课程设计 仓库管理系统.doc_第1页
C语言课程设计 仓库管理系统.doc_第2页
C语言课程设计 仓库管理系统.doc_第3页
C语言课程设计 仓库管理系统.doc_第4页
C语言课程设计 仓库管理系统.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

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 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(cls);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); 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: 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); system(cls); Load(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. 按仓库面积排序 *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(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); printf(n第%d个仓库的编号:,i+1); scanf (%d,&ti.num); printf(第%d个仓库的名称:,i+1); scanf (%s,); printf(第%d个仓库的面积:,i+1); scanf (%f,&ti.square); printf(第%d个仓库的说明:,i+1); scanf (%s,rodution); 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%14sn,ti.num,,ti.square,rodution); printf( *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,)=0) flag=1; system(cls); printf(nn要查找的仓库信息如下:n); printf(n); printf( *n); printf( * 编号 名称 面积 说明n); printf( -n); printf(%17d%13s%20f%14sn,ti.num,,ti.square,rodution); 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; system(cls); printf(请输入要删除的仓库名称n); scanf(%s,s); for(i=0;in;i+) if(strcmp(s,)=0) flag=1; system(cls); printf(nn要删除的仓库信息如下:n); printf(n); printf( *n); printf( * 编号 名称 面积 说明n); printf( -n); printf(%17d%13s%20f%14sn,ti.num,,ti.square,rodution); 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) printf(要删除的仓库不存在!n); getchar(); return n;int AlterRecord(Cangku t,int n) int i,flag=0; char s20,ch; system(cls); printf(请输入要修改的仓库名称n); scanf(%s,s); for(i=0;in;i+) if(strcmp(s,)=0) flag=1; system(cls); printf(nn要修改的仓库信息如下:n); printf(n); printf( *n); printf( * 编号 名称 面积 说明n); printf( -n); printf(%17d%13s%20f%14sn,ti.num,,ti.square,rodution); printf( *n); printf (n); printf(确定修改仓库信息吗?(Y/N)n); ch=getchar(); ch=getchar(); if(ch=y|ch=Y) system(cls); printf(请输入修改后的信息:n); printf(请输入仓库新的名称:); scanf(%s,); printf(请输入%s仓库新的编号:,); scanf(%d,&ti.num); printf(请输入%s仓库新的面积:,); scanf(%f,&ti.square); printf(请输入%s仓库新的说明:,); scanf(%s,rodution); 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个仓库的名称:,i+1); scanf(%s,); printf(第%d个仓库的面积:,i+1); scanf(%f,&ti.square); printf(第%d个仓库的说明:,i+1); scanf(%s,rodution); 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 SortOnSquare(Cangku t,int n) 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+) fwrite(&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) int n=0; FILE *fp; if(fp=fopen(bkrecord.txt,a+)=NULL) printf(不能打开文件!n); exit(1); while(fread(&tn,sizeof(struct cangku),1,fp)

温馨提示

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

评论

0/150

提交评论