![C语言库存管理系统_第1页](http://file4.renrendoc.com/view/27b69a2f4ec9ae9d3e54d6ae5c7c9c47/27b69a2f4ec9ae9d3e54d6ae5c7c9c471.gif)
![C语言库存管理系统_第2页](http://file4.renrendoc.com/view/27b69a2f4ec9ae9d3e54d6ae5c7c9c47/27b69a2f4ec9ae9d3e54d6ae5c7c9c472.gif)
![C语言库存管理系统_第3页](http://file4.renrendoc.com/view/27b69a2f4ec9ae9d3e54d6ae5c7c9c47/27b69a2f4ec9ae9d3e54d6ae5c7c9c473.gif)
![C语言库存管理系统_第4页](http://file4.renrendoc.com/view/27b69a2f4ec9ae9d3e54d6ae5c7c9c47/27b69a2f4ec9ae9d3e54d6ae5c7c9c474.gif)
![C语言库存管理系统_第5页](http://file4.renrendoc.com/view/27b69a2f4ec9ae9d3e54d6ae5c7c9c47/27b69a2f4ec9ae9d3e54d6ae5c7c9c475.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
年4月19日C语言库存管理系统文档仅供参考沈阳商品航天大学北方科技学院课程设计任务书课程设计题目库存管理程序设计教研室计算机教研室专业班级学号姓名课程设计时间:年月日至年月日课程设计的内容及要求:主要内容设计一个程序管理库存商品,主要实现的功能如下:添加、修改、删除库存商品信息,商品信息包括:编号、名称、类别、数量、产地等;进货或售出商品后,相应的库存商品数量应该有所改变;当某种商品库存少于一定数量时,应该提醒进货;能够按商品名称模糊查询商品信息。基本要求系统采用C程序设计语言实现;独立完成系统的设计、编码和调试,经过指导教师当场验收;交出完整的课程设计报告。指导教师史俊年月日沈阳商品航天大学北方科技学院课程设计成绩评定单课程名称C语言综合训练课程设计题目库存管理程序设计专业班级学号姓名答辩日期年月日指导教师(答辩组)评语:课程设计成绩指导教师(答辩组)签字年月日库存管理程序设计目录TOC\o"1-3"\u摘要 21.绪论 22.系统分析 32.1功能需求 32.2数据需求 32.3性能需求 33.总体设计 33.1功能模块设计 33.2系统设计方案 44.详细设计 54.1商品信息管理模块 54.2商品查询管理模块 95.调试与测试 105.1调试 105.2测试 106.结论 11结束语 11参考文献 11附录1-用户手册 12附录2-源程序 14摘要库存管理系统是厂家、商城、商场等的管理商品信息不可缺少的部分,利用这个系统,能够更好地管理商品的信息。本系统使用C语言开发,实现商品信息库的新建,查询商品信息,修改商品信息,可对商品的出售进货有数量的变化,当数量不足时做提醒。本文从分析课题的题目背景、题目意义、题目要求等出发,分别从需求分析、总体设计、详细设计、测试等各个方面详细介绍了系统的设计与实现过程,最后对系统的完成情况进行了总结。关键词:库存;商品信息;数量变化;1.绪论随着时代的进步,社会的发展,人们的生活水平逐渐提高,平时购物的种类越来越多,商场出售商品的种类也越来越多,各种商品的库存量在每天的销售与进货过程中会发生不断的变化,管理起来也越来越繁琐。发库存管理系统,可使管理商品信息变得更加简单,节省人力物力,降低成本。库存管理系统,能实现商场对商品的添加,查询,修改,删除等功能,对商品的数量进行管理,满足商场的需求。随着社会的发展,社会生活水平不断提高,外出出行的人们也越来越多,伴随而来的是民航部门对商品管理和订票业务更加繁重的问题。开发商品售票管理系统,使得国家民航部门对出行人员的信息和商品的管理问题得到了改进。商品售票管理程序,能实现民航部门对商品信息的添加、查找、修改和删除等功能,方便了民航部门的管理,满足了民航部门的需求。根据课程设计任务书要求,本系统开发主要完成以下功能和性能。添加、修改、删除库存商品信息,商品信息包括:编号、名称、类别、数量、产地等;进货或售出商品后,相应的库存商品数量应该有所改变;当某种商品库存少于一定数量时,应该提醒进货;能够按商品名称模糊查询商品信息2.系统分析2.1功能需求本系统主要是库存商品进行管理的系统。该系统需要有添加,删除商品信息,查询商品信息,货少提醒等。2.2数据需求需要管理的商品信息包括:商品号、商品名称、商品类别、数量和产地。2.3性能需求安全性:本系统在设计,开发,运行各环节,都贯彻了安全性的原则。可靠性:遵循安全性原理,来提高本系统的可靠性。稳定性:本系统根据需要能够定义全局变量,能够使用结构体以及链表,来确保本系统的稳定性。响应速度;本系统因应用了链表,理论上能够提高查找的速度,整体的响应速度也会得到了提升。3.总体设计3.1功能模块设计根据分析整个系统主要划分为4个模块,分别执行对于功能。商品信息管理实现商品编号、名称、类别、数量、产地等的查询、添加、修改、删除等功能。出售和进货管理可对商品在商品有数量变化时,对应变化,当商品数量少于一定数量时,提醒数量不够。功能模块图如图1所示。图1功能模块图(1)商品信息管理子模块该模块是对商品编号、名称、类别、数量、产地等信息的增加、删除和修改。(2)出售进货管理子模块该模块是对商品的出售进货时,数量的随之变化,当数量少于一定数值时,提醒数量不足。3.2系统设计方案(1)数据结构设计typedefstructper{ charid[10],定义编号name[10], 定义商品名称leibie[10], 定义商品类别chandi[10]; 定义商品产地 intnum; 定义商品数量 structper*next;}per;(2)菜单设计本系统中的菜单有以下几种:。1.一级菜单:即主菜单。其中包括:1.新建;2.查询;3.修删;4.售出或进货;5.退出。2.二级菜单a:新建菜单:包括:1、新建信息库;2、添加商品;3、返回。b:查询菜单:包括:1、查看信息库;2、查找商品号;3、返回。c:修删菜单:包括:1、修改商品信息;2、删除商品信息;3返回。d:售出或进货菜单:包括1、售出;2、进货;3、返回。(3)函数设计voidmenu();主菜单voidxinjian_menu();新建菜单voidchaozhao_menu();查找菜单voidxiugai_menu();修删菜单per*cj();新建信息库voidprint(per*head);输出商品信息voidchazhao(per*head);查找商品信息per*sc(per*head);删除商品信息per*charu(per*head);添加商品信息per*xiugai(per*head);修改商品信息per*dp(per*head);售出或进货4.详细设计4.1商品信息管理模块(1)添加商品模块先建立商品信息,定义整型变量i和n以及指针变量p1和p2,在开辟新的结点,使结点为空,输入商品编号,执行n++,当p1->number不为0时,继续往下输入商品信息否则p2->next=p1。继续执行p2=p1,p2->next=null。返回后可继续此输入,可循环重复,否则回到主函数。具体实现程序流程如图2。图2商品信息添加流程图删除商品模块定义整型变量i,指针变量p1和p2,输入商品号i,判断是否有此商品((i,p1->id)!=0&&p1->next!=NULL),如果有,将p2=p1;p1=p1->next,在匹配与输入相同的商品,使(i,p1->id)==0,则删除成功回到主函数。具体实现程序流程如图3 图3商品信息删除流程图修改商品模块定义字符型变量na、整型变量na1、指针变量p1,使p1=head,如果!Head则信息库为空,否则输入要修改的商品,如果!P1则商品不存在,否则进入后不修改,按‘-’返回,否则继续输入商品信息然后可按‘-’号结束,返回目录。具体实现程序流程如图4图4商品信息修改流程图4.2商品查询管理模块建立输出函数,定义指针p,p1,p1=head。当head等于空,输出“该信息库为空!!!”,返回主函数。当head不等于空,输出信息库信息,再判断p->num<3,如果是则输出“数量太少请进货”返回主函数。具体实现程序流程如图3。图5商品查询流程图5.调试与测试5.1调试调试是系统开发的一个重要的步骤。调试可分为2个步骤,先是运行编写好程序找到问题,然后再解决并改正问题。本系统在调试时,发现在判断商品数量提醒时,有时出现错误,在重复查找后发现,在前面没有判断该商品是否存在,在改正后,程序正确运行。5.2测试系统测试是系统开发的一个重要阶段,是系统保证质量的关键。如果在测试中不认真检查,在后期维护过程中将会非常麻烦。本系统测试数据过程如下。先进入运行程序输入“1”,进入新建菜单,再输入“1”进入新建信息库。请输入用第个1商品信息:商品号:1商品名称:三星商品类别:电子产品数量:2产地:沈阳是否继续输入:(1)是(2)否输入“2”。返回到主函数。输入“2”,进入查看菜单。再输入“1”,进入查看信息库,屏幕输出1三星电子产品21沈阳数量太少请进货返回到主菜单。输入“4”,进入售出或进货菜单。输入“2”,按提示输入商品号“1”,按提示依次输入数量:5屏幕输出进货成功!!!返回到主菜单。输入“2”,进入查看菜单。再输入“1”,进入查看信息库,屏幕输出1三星电子产品21沈阳返回到主菜单。输入“5”,进入退出程序。屏幕输出BYEBYE!!!退出程序。多次运行程序后,发现各个菜单功能都可执行,在输入错误商品号时,给出该商品不存在的提示,因此,该程序无错误可正确执行。6.结论本次课程设计,根据任务书要求,实现了添加、修改、删除库存商品信息,商品信息包括:编号、名称、类别、数量、产地等,进货或售出商品后,相应的库存商品数量应该有所改变,当某种商品库存少于一定数量时,应该提醒进货,能够按商品名称查询商品信息,可满足商场对系统的需求。但有部分功能还不太完善,如只可新建一次信息库,再次创立时,会将上个信息库覆盖,且不能保存数据。结束语经过这次的课程设计实验,让我了解了我的一些方面的不足,也提高了我的学习能力,在经过查找资料来完成实验时,使我的知识更加的丰富,培养了我的学习兴趣。今后我要更加努力来学习。参考文献[1]严蔚敏,吴伟国.数据结构(C语言版).北京:清华大学出版社,.9 [2]潭浩强.C语言程序设计(第三版).北京:清华大学出版社,附录1-用户手册首先打开程序,初始页面,如图6。图6登录界面输入“1”进入新建菜单,如图7。图7新建页面主界面中输入“2”进入查询界面,如图8图8查询页面主界面中输入“3”进入订票页面,如图9图9修改或删除页面主界面中输入“4”进入订票页面,如图10图10进货或出售页面附录2-源程序主要模块源代码清单:#include<stdio.h>#include<string.h>#include<malloc.h>#defineLENsizeof(structper)#definePRESS_ANYKEYP("请输入任意键继续……");getchar();getchar();#definePprintftypedefstructper{ charid[10],name[10],leibie[10],chandi[10]; intnum; structper*next;}per;voidmenu();voidxinjian_menu();voidchaozhao_menu();voidxiugai_menu();voidshou_menu();voidprint(per*head);voidchazhao(per*head);per*dp(per*head);per*cj();per*sc(per*head);per*charu(per*head);per*xiugai(per*head);voidmenu(){ P("\t\t***************************************\n"); P("\t\t*库存信息管理系统*\n"); P("\t\t*1、新建*\n"); P("\t\t*2、查询*\n"); P("\t\t*3、修删*\n"); P("\t\t*4、售出或进货*\n"); P("\t\t*5、退出*\n"); P("\t\t***************************************\n");}voidxinjian_menu(){ P("\t\t<<<<<<<<<<<<<<新建>>>>>>>>>>>>>>>\n"); P("\t\t1、新建信息库\n"); P("\t\t2、添加商品\n"); P("\t\t3、返回\n"); P("\t\t<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>\n");}voidchazhao_menu(){ P("\t\t<<<<<<<<<<<<<<查看>>>>>>>>>>>>>>>\n"); P("\t\t1、查看信息库\n"); P("\t\t2、查找商品号\n"); P("\t\t3、返回\n"); P("\t\t<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>\n");}voidxiugai_menu(){ P("\t\t<<<<<<<<<<<<修改或删除>>>>>>>>>>>>\n"); P("\t\t1、修改商品信息\n"); P("\t\t2、删除商品信息\n"); P("\t\t3、返回\n"); P("\t\t<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>\n");}voidshou_menu(){ P("\t\t<<<<<<<<<<<<进货或出售>>>>>>>>>>>>\n"); P("\t\t1、出售\n"); P("\t\t2、进货\n"); P("\t\t3、返回\n"); P("\t\t<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>\n");}voidmain(){ per*head=NULL; per*link=head; registerinti; do { menu(); P("请输入序号:"); scanf("%d",&i); switch(i) { case1: xinjian_menu(); P("请输入序号:"); scanf("%d",&i); switch(i) { case1: link=cj(); continue; case2: link=charu(link); print(link);PRESS_ANYKEY continue; case3: break; }continue; case2: chazhao_menu(); P("请输入序号:"); scanf("%d",&i); switch(i) { case1: print(link); PRESS_ANYKEY continue; case2: chazhao(link); case3: break; }continue; case3: xiugai_menu(); P("请输入产品编号:"); scanf("%d",&i); switch(i) { case1: link=xiugai(link); print(link);PRESS_ANYKEY continue; case2: link=sc(link); print(link); continue; case3: break; }continue; case4: link=dp(link); continue; case5: P("BYEBYE!\n"); PRESS_ANYKEY }break; }while(1);}per*cj(){ inti,n=0; per*head=NULL; per*p1=head,*p2=head; do { p1=(per*)malloc(sizeof(per)); P("请输入用第个%d商品信息\n",++n); P("商品号:"); scanf("%s",&p1->id); if(!strcmp(p1->id,"0")) break; P("商品名称:"); scanf("%s",&p1->name); P("商品类别:"); scanf("%s",&p1->leibie); P("数量:"); scanf("%d",&p1->num); P("产地:"); scanf("%s",&p1->chandi); if(n==1) head=p1; else p2->next=p1; p2=p1; p2->next=NULL; printf("是否继续输入:(1)是(2)否\n"); scanf("%d",&i); }while(i==1); returnhead;}per*charu(per*head){ per*p0,*p1; p1=head; p0=(per*)malloc(sizeof(per)); p0->next=NULL; P("商品号:"); scanf("%s",&p0->id); P("商品名称:"); scanf("%s",&p0->name); P("商品类别:"); scanf("%s",&p0->leibie); P("数量:"); scanf("%d",&p0->num); P("产地:"); scanf("%s",&p0->chandi); if(!head) { head=p0; returnhead; } while(p1->next) p1=p1->next; p1->next=p0; returnhead;}voidprint(per*head){ per*p; p=head; if(!head) { P("\t\t该信息库为空!!!\n"); return; } P("编号\t名称\t类别\t数量\t产地\t提醒\n"); while(p) { P("%s\t%s\t%s\t%d\t%s\t",p->id,p->name,p->leibie,p->num,p->chandi); if(p->num<3) P("数量太少请进货\n"); else P("\n"); p=p->next; }}voidchazhao(per*head){ charj[5]; per*p1; p1=head; P("请输入要查询的名称:"); scanf("%s",&j); if(p1!=NULL) { while(p1) { if(strcmp(j,p1->name)==0) { P("%s\t%s\t%s\t%d\t%s\t\n",p1->id,p1->name,p1->leibie,p1->num,p1->chandi); } p1=p1->next; } } P("编号\t名称\t类别\t数量\t产地\n");}per*xiugai(per*head){ charna[5]; intna1; per*p1; p1=head; if(!head) { P("\t\t该信息库为空!!!\n"); returnhead; } P("请输入要修改商品号:"); scanf("%s",&na); P("(如果不修改,请输入“-”)\n"); while(p1) { if(!strcmp(na,p1->id)) break; p1=p1->next; } if(!p1) { P("\t\t此商品不存在!!!\n"); returnhead; } P("商品名称:"); scanf("%s",&na); if(strcmp(na,"-")) strcpy(p1->name,na); P("商品类别:"); scanf("%s",&na); if(strcmp(na,"-")) strcpy(p1->leibie,na); P("数量:"); scanf("%d",&na1); if(strcmp(na,"-")) p1->num=na1; P("产地:"); scanf("%s",&na); if(strcmp(na,"-")) strcpy(p1->chandi,na); returnhead;}per*sc(per*head){ chari[5]; per*p1,*p2; p1=p2=head; if(head==NULL) { P("\t\t该信息库为空!!!\n"); return(head); } P("请输入要删除序号:"); scanf("%s",i); while(1) { p1=head; while(strcmp(i,p1->id)!=0&&p1->next!=NULL) { p2=p1; p1=p1->next; } if(strcmp(i,p1->id)==0) {
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版八年级数学上册13.3.1《等腰三角形(2)》听评课记录
- 苏教版一年级数学上册口算练习题三
- 法人股东对外-股权转让协议书范本
- 绿地租赁合同范本
- 资产委托经营管理合同范本
- 汽车租赁业务合作协议书范本
- 宿迁房屋租赁合同范本
- 人力资源战略合作框架协议书范本
- 2025年度年度单位向单位教育项目借款合同
- 医疗服务协议书范本
- 《工作场所安全使用化学品规定》
- 装饰图案设计-装饰图案的形式课件
- 2022年菏泽医学专科学校单招综合素质考试笔试试题及答案解析
- 护理学基础教案导尿术catheterization
- ICU护理工作流程
- 广东版高中信息技术教案(全套)
- 市政工程设施养护维修估算指标
- 短视频:策划+拍摄+制作+运营课件(完整版)
- 石家庄铁道大学四方学院毕业设计46
- 分布式光伏屋顶调查表
- 部编版五年级语文下册第四单元课时作业本有答案
评论
0/150
提交评论