仓库管理系统 (2).doc

上传人:精*** 文档编号:859635 上传时间:2023-09-23 格式:DOC 页数:15 大小:215.27KB
下载 相关 举报
仓库管理系统 (2).doc_第1页
第1页 / 共15页
仓库管理系统 (2).doc_第2页
第2页 / 共15页
仓库管理系统 (2).doc_第3页
第3页 / 共15页
仓库管理系统 (2).doc_第4页
第4页 / 共15页
仓库管理系统 (2).doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、目 录课程设计评语2目 录31课程论文题目42程序设计思路43功能模块图54数据结构设计55算法设计66程序代码137程序运行结果228编程中遇到的困难及解决方法259总结心得及良好建议2610致谢26计算机高级语言课程设计(C)报告摘要题目:仓库管理问题实习时间:01/2013【问题描述】仓库管理【基本要求】1实现货物入库功能,提供结构体的输入操作;2实现货物出库库功能,提供结构体的输入操作3实现统计功能,提供相应的统计操作;4实现查询功能,提供查找操作;5实现修改功能,提供修改操作;6提供键盘时的菜单实现功能选择。2设计2.1总体设计入库查询统计修改仓库管理系统出库退出1开始显示功能调用函

2、数输入n,判断n 1-9?结束1 主函数输入、输出、调用函数,各功能模块的选择。void main() Cangku ck50;int i,l,length,w=1;for (i=0;i1;i+) printf( 欢迎进入仓库管理 进入请按1 n); scanf(%d,&l); system(cls); if(l=1) w=1; else w=0; printf (输入错误!n); break; while(w) switch(Menu_select() case 1: length=Input(ck); SaveRecord(ck,length); break; case 2: length

3、=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); SaveRe

4、cord(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: exit

5、(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(

6、* 8. 按库储量排序 *n); printf( * 9. 退出 *n); printf( *n);2、各模块设计入库提供输入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,ti.name);

7、 printf(第%d个仓库的数量:,i+1); scanf (%f,&ti.square); printf(第%d个仓库的说明:,i+1); scanf (%s,ti.introdution); return (n);查询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)

8、; 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); if(flag=0) printf(要查找的仓库不存在!n);getchar();统计模块显示全部记录void List(Cangku t,int n) int i; printf( *n); printf( * 编号 名称 数量 说明n); printf( -n);for(i=0;in

9、;i+) printf(%17d%13s%20f%14sn,ti.num,ti.name,ti.square,ti.introdution); printf( *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,ti.name)=0) flag=1; system(cls); printf(nn要修改的仓库信息如下:n); printf(n); printf( *n);

10、 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) system(cls); printf(请输入修改后的信息:n); printf(请输入仓库新的名称:); scanf(%s,ti.name); printf(请输入%s仓库新的编号:,ti.name);

11、 scanf(%d,&ti.num); printf(请输入%s仓库新的数量:,ti.name); scanf(%f,&ti.square); printf(请输入%s仓库新的说明:,ti.name); scanf(%s,ti.introdution); 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

12、+) system(cls); printf(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+m); 修改增加排序模块选择排序法保存返回菜单按选择排序法按名称排序按数量排出库int DeleteRecord(Cangku t,int n) char s20; char ch;

13、 int i,j,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( * 编号 名称 数量 说明n); printf( -n); printf(%17d%13s%20f%14sn,ti.num,ti.name,ti.square,ti.introdution); printf( *n); printf (n

14、); 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;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(排序成功

15、!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(re

16、cord.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); ret

17、urn 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) n+; fclose(fp); printf(从文件中成功读出记录!n); return n; 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();总结:学习C语言就得上机操作。虽说我们在课本上学到了很多。但是真正让我感学到东西的的还是上机实习操作。谢谢参考文献基于PBL的C语言课程设计及学习指导、C语言程序设计。 printf (n);getchar();15

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922