欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    c语言仓库货物管理系统[31页].docx

    • 资源ID:89622300       资源大小:280.13KB        全文页数:31页
    • 资源格式: DOCX        下载积分:9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    c语言仓库货物管理系统[31页].docx

    最新资料推荐软件学院课程设计报告设计名称: C语言课程设计 选题名称 仓库货物管理系统 姓 名: 李明慧 学 号: 1515925610 专业班级: 云计算1班 系 (院): 软件学院 设计时间: 2015.12.292013.12.31 设计地点: 实验室 15#610 最新精品资料整理推荐,更新于二二一年一月十九日2021年1月19日星期二20:00:131课程设计目的(1) 巩固和加深学生对C语言的基本知识的理解和掌握;(2) 掌握C语言编程和程序调试的基本技能;(3) 利用C语言进行简单软件设计的基本思路和方法;(4) 提高运用C语言解决实际问题的能力;(5) 掌握书写程序设计说明文档的能力。2课程设计任务与要求:任务设计题目从任务书所列选题表中选取,每人1题。要求:1、在处理每个题目时,要求从分析题目的需求入手,进行合理的模块设计,定义正确函数和自定义数据类型(如结构体类型)、编制上机程序和上机调试等若干步骤完成题目,最终写出完整的分析报告。前期准备工作完备与否直接影响到后序上机调试工作的效率。在程序设计阶段应尽量利用已有的标准函数,加大代码的重用率。 2、设计的题目要求达到一定工作量(200行以上代码),并具有一定的深度。3、程序设计语言推荐使用C,程序书写规范,源程序需加必要的注释并且缩进一致。4、每位同学需提交可独立运行的程序;5、每位同学需独立提交设计报告书(每人一份),要求编排格式统一、规范、内容充实,不少于10页(代码不算);6、课程设计实践作为培养学生动手能力的一种手段,单独考核。3课程设计说明书一 需求分析 现阶段快速的社会发展要求高速的完成任何事情。在各个市场,特别在超市,管理员对货物的高效管理显得尤为重要。不仅客户希望快速,准确的查询到购买的货物信息,管理员也希望能方便的管理货物,给客户提供满意的服务。因此,本程序就可以完成统计并管理货物信息的任务。实现了统计每个货物的信息,然后可以轻松地通过对货物编号的排序快速的去找到想要查询的货物,然后就可以实现对货物的修改、删除、添加等功能。 本程序的宗旨在于提高管理者的工作效率,方便管理者及客户进行查询,实现精确地管理货物目的。二 系统设计 该程序设计主要运用了c语言的基本知识,通过调用各个函数实现整个完整的系统功能。该仓库管理系统主要实现了管理员和用户两种不同身份的功能,以下就是程序实现的主要功能:管理员的功能: 用户的功能: 0:显示菜单 1:读取信息 1:录入信息 2:查询信息 2:查询信息 3:退出系统 3:修改信息4:添加信息 5:删除信息 6:正向排序7:输出信息8:保存信息9:退出系统 10:读取信息有功能模块图和流程图 功能模块图:仓库货物管理系统管理员用户输入密码 退出系统否 查询信息 读取信息是否正确? 是 读取信息 退出系统 保存信息 输出信息 正向排序 删除信息 添加信息 修改信息 查询信息 录入信息显示菜单 开 始流程图:读取信息是否是管理员?否输入密码查询信息是密码是否正确? 是 菜单选择 查询信 息添加信息删除信息修改信息录入信息 正向排序输入编号 选择添加方式输入编号输入编号输入信息输出信息排序完毕输入添加内容查询完毕 删除完毕选择修改内容输入完毕 添加完毕输入修改信息 修改完毕保 存 信 息 读 取 信 息 退 出 系 统结 束三 详细设计 1、首先写入头文件#include<stdio.h>#include<stdlib.h>#include<string.h>#include<windows.h>#define M sizeof(struct goods)2、定义一个结构体存储货物的信息struct goods int num; char name20; float price; int amount; struct goods *next;3、 输入货物信息函数struct goods *create() int i; struct goods *head,*p,*q; p=q=head=NULL; printf("请输入货物的编号 名称 价格 数量n"); for(i=1;i+) p=(struct goods *)malloc(sizeof(struct goods); scanf("%d %s %f %d",&p->num,p->name,&p->price,&p->amount); if(i=1) head=p; else q->next=p; q=p; if(p->num=0) break; q->next=NULL; return head;4、查找货物信息函数void find(struct goods *head,int num) struct goods *p1; p1=head; int i=0; while(p1!=NULL) if(p1->num=num) i=1; printf("%d %s %.2f %dn",p1->num,p1->name,p1->price,p1->amount); printf("查找货物编号成功"); p1=p1->next; if(i=0) printf("没有查到货物编号n"); 5、修改信息函数 void change(struct goods *head,int num) struct goods *p2; p2=head; int j; int i=0; while(p2!=NULL) if(p2->num=num) i=1; printf("你想修改货物的1.编号 2.名称 3.价格 4.数量 5.全部修改?n"); scanf("%d",&j); switch(j) case 1:printf("请输入修改的货物的编号:");scanf("%d",&p2->num);printf("修改货物信息成功n");break; case 2:printf("请输入修改的货物的名称:");scanf("%s",p2->name);printf("修改货物信息成功n");break; case 3:printf("请输入修改的货物的价格:");scanf("%f",&p2->price);printf("修改货物信息成功n");break; case 4:printf("请输入修改的货物的数量:");scanf("%d",&p2->amount);printf("修改货物信息成功n");break; case 5:printf("请输入修改的货物的编号 名称 价格 数量:");scanf("%d %s %f %d",&p2->num,p2->name,&p2->price,&p2->amount);printf("修改货物信息成功n");break; default :printf("error!n");break; p2=p2->next; if(i=0) printf("没有找到要修改的货物编号n");6、(1)添加货物信息函数-头插法 struct goods *add1(struct goods *head) struct goods *p3,*pm; int i=0; pm=head; p3=(struct goods *)malloc(sizeof(struct goods); printf("请添加货物的编号 名称 价格 数量n"); scanf("%d %s %f %d",&p3->num,p3->name,&p3->price,&p3->amount); while(pm!=NULL) while(pm->num=p3->num) printf("已有此货物编号n"); scanf("%d %s %f %d",&p3->num,p3->name,&p3->price,&p3->amount); pm=head; pm=pm->next; p3->next=head; head=p3; return head; printf("添加信息成功n");(2)添加货物信息函数-非头插法struct goods *add2(struct goods *head,int num) struct goods *p4,*p5; p5=head; p4=(struct goods *)malloc(sizeof(struct goods); printf("请添加货物的编号 名称 价格 数量n"); scanf("%d %s %f %d",&p4->num,p4->name,&p4->price,&p4->amount); while(p5!=NULL) while(p5->num=p4->num) printf("已有此货物编号n"); scanf("%d %s %f %d",&p4->num,p4->name,&p4->price,&p4->amount); p5=head; if(p5->num!=p4->num) p5=p5->next; p5=head; while(p5!=NULL) if(p5->num=num) p4->next=p5->next; p5->next=p4; p5=p5->next; return head; printf("添加信息成功n");7、删除货物信息函数struct goods *del(struct goods *head,int num) struct goods *p3,*p4; p3=p4=head; int i=0; while(p3->next!=NULL) p4=p3; p3=p3->next; if(p3->num=num) i=1; p4->next=p3->next; free(p3); printf("删除货物信息成功n"); if(i=0) printf("没有找到要删除的货物n"); return head;8、 正向排序函数 struct goods *sort(struct goods *head) struct goods *p,*q,*a,*b,*newhead; newhead=NULL; int max; while(head!=NULL) p=head; q=head->next; a=head; b=NULL; max=p->num; while(q!=NULL) if(q->num>max) max=q->num; a=q; b=p; p=p->next; q=q->next; if(a!=head) b->next=a->next; else head=head->next; if(newhead=NULL) newhead=a; a->next=NULL; else a->next=newhead; newhead=a; return newhead;9、输出信息函数void print(struct goods *head) struct goods *pt; pt=head; while(pt!=NULL) printf("%d %s %.2f %dn",pt->num,pt->name,pt->price,pt->amount); pt=pt->next; 10、保存货物信息函数void save(struct goods *head) FILE *fp; struct goods *pm; pm=head; if(fp=fopen("aaa.dat","w")=NULL) printf("cannot have this filen"); exit(0); while(pm!=NULL) fwrite(pm,sizeof(struct goods),1,fp); pm=pm->next; fclose(fp); printf("保存信息成功n");11、读取货物信息函数 struct goods * save_() int i; struct goods *head,*p,*q,*p1; FILE *fp; fp=fopen("aaa.dat","r"); if(fp=NULL) printf("cannot have this filen"); exit(0); for(i=1;i+) p=(struct goods *)malloc(sizeof(struct goods); fread(p,M,1,fp); if(i=1) head=p; else q->next=p; q=p; if(p->next=0) break; q->next=NULL; p1=head; while(p1!=NULL) printf("%d %s %.2f %dn",p1->num,p1->name,p1->price,p1->amount); p1=p1->next; return head; fclose(fp);12、释放内存函数void free_(struct goods *head) struct goods *p5; while(head!=NULL) p5=head; free(p5); head=head->next; printf("释放内存成功n");13、管理员界面 void menu1() struct goods *head; int k,num,n,m,j,i,z=3; char ch7; printf("请输入密码:"); scanf("%s",ch); while(1) if(strcmp(ch,password)=0) printf("欢迎进入仓库管理系统n");break; else printf("请再次输入密码:(你还有%d次机会)n",z-1); scanf("%s",ch); z-; if(z=0) printf("退出系统"); exit (0); printf("tt*n"); printf("tt*仓库管理系统*n"); printf("tt*n"); printf("tt*0.显示菜单*n"); printf("tt*1.录入信息*n"); printf("tt*2.查询信息*n"); printf("tt*3.修改信息*n"); printf("tt*4.添加信息*n"); printf("tt*5.删除信息*n"); printf("tt*6.正向排序*n"); printf("tt*7.输出信息*n"); printf("tt*8.保存信息*n"); printf("tt*9.退出系统*n"); printf("tt*10.读取信息*n"); printf("tt*n"); while(1) printf("n"); printf("请输入功能选择键:"); scanf("%d",&k); printf("n"); if(k=1) head=create(); printf("创建信息成功请继续操作n"); printf("n"); if(k=2) printf("请输入要查询的货物编号:"); scanf("%d",&num); find(head,num); printf("n"); if(k=3) printf("请输入要修改的货物编号:"); scanf("%d",&n); change(head,n); print(head); printf("n"); if(k=4) printf(">>>>>>>>>>>>>>>>1.头插 2.非头插n"); scanf("%d",&i); switch(i) case 1:head=add1(head);print(head);break; case 2:scanf("%d",&j);add2(head,j);print(head);break; default :printf("error!");break; if(k=5) printf("请输入要删除的货物编号:"); scanf("%d",&m); del(head,m); print(head); printf("n"); if(k=6) printf("请将下列货物编号进行排序n"); head=sort(head); print(head); printf("货物排序成功n"); if(k=7) print(head); printf("n"); if(k=8) save(head); printf("n"); if(k=9) free_(head); exit (0); if(k=10) head=save_(); if(k=0) printf("tt*n"); printf("tt*仓库管理系统*n"); printf("tt*n"); printf("tt*0.显示菜单*n"); printf("tt*1.录入信息*n"); printf("tt*2.查询信息*n"); printf("tt*3.修改信息*n"); printf("tt*4.添加信息*n"); printf("tt*5.删除信息*n"); printf("tt*6.正向排序*n"); printf("tt*7.输出信息*n"); printf("tt*8.保存信息*n"); printf("tt*9.退出系统*n"); printf("tt*10.读取信息*n"); printf("tt*n"); 14、用户界面void menu2() while(1) struct goods *head; printf("tt*n"); printf("tt*仓库管理系统*n"); printf("tt*-*n"); printf("tt*-1.读取信息-*n"); printf("tt*-2.查询信息-*n"); printf("tt*-3.退出系统-*n"); printf("tt*-*n"); int num,k; printf("请输入功能选择键:"); scanf("%d",&k); if(k=1) head=save_(); if(k=2) printf("请输入要查询的货物编号:"); scanf("%d",&num); find(head,num); printf("n"); if(k=3) exit(0); if(k<=0&&k>3) printf("没有此选项,请重新输入!n"); 15、主界面int main() int i; printf("tt*n"); printf("tt*仓库货物系统*n");

    注意事项

    本文(c语言仓库货物管理系统[31页].docx)为本站会员(yan****nan)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开