仓库管理系统(c语言)

合集下载

仓库库存管理系统源程序

仓库库存管理系统源程序
{
Node *r;
if(strcmp(nameorcode,"code")==0)//
{
r=l->next;
while(r!=NULL)
{
if(strcmp(r->data.code,findmess)==0)
return r;
r=r->next;
int num; //商品数量
int level;//物品等级
}item;
typedef struct node
{
struct item data;
struct node * next;
}Node,*Link;//定义为链表
void menu()//页面显示函数
{
return;
}
void Nofind()
{
printf("没有找到该物品!\n");
}
void printc()//本函数用于输出中文
{
printf(" 物品编码 物品名称 物品数量 物品等级\n");
}
void printe(Node *p)//输出物品信息函数
}
s=s->next;
}
p=(Node * )malloc(sizeof(Node));
strcpy(p->data.code,code);
printf("请输入物品名称:");
scanf("%s",p->);
getchar();
{
printf("物品编码为'%s'的物品已经存在,如果要修改请选择'4 修改'!\n",code);

仓库管理系统数据结构课程设计c语言

仓库管理系统数据结构课程设计c语言

一、概述仓库管理系统是管理仓储物品的重要工具,通过合理的数据结构设计,能够高效地管理仓库中的物品进出、库存等情况。

本文旨在设计一个基于C语言的仓库管理系统数据结构,以实现对仓库的有效管理和操作。

二、需求分析1. 仓库管理系统需要能够实现对仓库中不同类型物品的管理,包括物品的入库、出库、库存查询等功能。

2. 系统需要能够对不同的物品进行分类管理,包括对物品的编号、名称、规格、数量等信息的记录和管理。

3. 系统需要具备对物品进行盘点的功能,能够及时更新库存信息。

4. 系统需要实现对仓库内物品的结构化管理,确保物品的存储和检索的高效性和准确性。

三、数据结构设计1. 仓库管理系统主要涉及的数据结构包括:仓库、物品、库存等。

2. 仓库:仓库可以使用链表进行组织,每个节点存储一个仓库的信息,包括仓库的编号、名称、位置区域等。

3. 物品:物品可以使用结构体进行定义,包括物品的编号、名称、规格、数量等信息。

4. 库存:库存可以通过哈希表进行管理,将物品的编号作为关键字,实现对库存的快速查询和插入操作。

四、系统模块设计1. 入库模块:用于向仓库中添加物品,并更新库存信息。

2. 出库模块:用于从仓库中移除物品,并更新库存信息。

3. 查询模块:用于对仓库中的物品和库存信息进行查询。

4. 盘点模块:用于对仓库进行物品的盘点和库存的更新。

五、算法设计1. 入库算法:当向仓库中添加新物品时,需要判断物品是否已存在,若存在则更新数量,若不存在则添加新物品。

2. 出库算法:当从仓库中移除物品时,需要判断库存是否充足,若充足则更新数量,若不足则提示库存不足。

3. 查询算法:通过哈希表和链表进行查询,实现高效的物品和库存信息查询。

4. 盘点算法:遍历仓库中的物品,对库存信息进行更新。

六、系统实现1. 使用C语言编写主程序,包括对仓库的管理和操作。

2. 根据数据结构设计和算法设计,实现对仓库的物品和库存的管理。

3. 使用文件存储来实现对仓库信息的持久化,确保系统重启后数据不丢失。

仓库管理系统设计说明书

仓库管理系统设计说明书

仓库管理系统设计说明书发布信息✧作者✧发布范围✧版本✧发布日期修改记录✧发布日期✧版本✧说明✧作者目录1引言 (4)1。

1编写目的 (4)1。

2读者对象 (4)1.3项目背景 (4)1.4参考资料 (4)2系统总体设计 (5)2。

1系统结构模式 (5)2。

2系统运行流程 (5)3系统详细设计 (5)3。

1问题域部分的设计 (6)3.2人机交互部分的设计 (8)3。

3任务管理部分的设计 (12)3.4数据管理部分的设计 (13)1引言●仓库管理系统设计说明书,是在分析中小型企业库存管理流程资料的基础上,根据《仓库管理系统需求说明书》而编写的.●本说明书为2004级军人本科学员《信息系统原理与工程》的课程设计作业产品的一部分,项目由国防科技大学信息系统与管理学院学员四队指挥自动化工程专业课程设计作业第四小组负责组织实施.1。

1编写目的编写该设计说明书的目的是为了给该系统的使用者和开发者提供:●软件总体需求:向用户描述仓库人事管理系统的基本功能.●功能要求和数据结构:开发人员进行详细设计和编码的基础。

●软件综合测试的依据:第三方进行软件测试的指南和参考。

1.2读者对象该设计说明书的读者为:小型企业公司相关人员、项目组成员及辅导教员。

1。

3项目背景软件系统名称:仓库管理系统仓库管理系统是企业信息系统中一个相当重要的组成部分。

仓库管理系统的好坏直接影响企业物流管理效果,并直接影响企业的经济效益。

其主要作用是帮助企业的仓库管理人员建立物料管理账目、规范物料出入库手续、分析库存物料利用及资金占用情况,并为物料采购供应、生产计划、销售部门提供必要的库存数据。

1.4参考资料●张维明,戴长华,陈卫东,信息系统原理与工程,电子工业出版社,北京,2004年7月(第2版).●Curtis HK Tsang, Clarence SW Lau, Ying K Leung, 面向对象技术—-使用VP—UML实现图到代码的转换, 清华大学出版社,北京,2007年2月(第1版)。

(完整word版)仓库管理系统

(完整word版)仓库管理系统

仓库管理系统摘要本系统主要完成对物资仓库的库存管理,包括入库、出库,用户信息,物资信息等四个方面。

系统可以完成对各类信息的浏览、查询、添加、删除、修改等功能。

系统的核心是入库、出库二者之间的联系,每一个表的修改都将联动的影响其它的表,当完成入库或出库操作时系统会自动地完成库存的修改.查询功能也是系统的核心之一,其目的都是为了方便用户使用。

系统有完整的用户添加、删除和密码修改功能,系统采用Microsoft Office中的Access 2000来设计数据库,并使用开发工具eclipse.论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。

重点的说明了系统设计的重点、设计思想、难点技术和解决方案。

关键字:数据库,SQL语言,eclipse。

AbstractSummary of the system of the major materials warehouse inventory management,including storage,warehousing, user information,Information materials in four aspects. System can be completed on various information browsing, query,add,delete,change, and other functions. The core of the system is created, out of the links between the two,one for each table the amendment will affect other linkage of the table, Upon the completion of the delivery or removal operation system will automatically complete inventory changes。

仓库管理系统

仓库管理系统

摘要随着计算机技术的飞速发展,计算机在企业管理中应用普及,信息管理系统已经成为企事业单位不可缺少的一部分,它的内容对于企业的决策者和管理者来说都是至关重要的,所以利用计算机实现管理企业势在必行。

仓库管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前台应用程序的开发和维护两个方面。

对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。

而对于后者则要求应用程序功能完备,易使用等特点。

本文结合企业仓储管理的实际情况,提出了针对中小型企业仓库管理系统的基本设计思想,简要介绍了系统各功能模块及数据库的设计,着重讨论了用C#.NET技术和SQL S erver 2008开发企业仓库管理系统时的数据库访问技术和应用程序设计技术,并给出了部分实现代码。

该系统在Windows XP系统和VS.NET平台下开发完成,使用C#作为开发语言,SQL Server 2008作为后台数据库,该数据库系统在安全性、准确性、运行速度方面均有绝对的优势,并且能够对容量较大的数据库进行处理,效率高,系统有较高的安全性和较好的性能,充分利用两者的优势,提高了编程效率和可靠性。

本文中除了有对程序的系统分析、总体设计、数据库设计、功能实现等主体部分外,在这之前还介绍了与企业仓库管理系统相关的信息、VS.NET与SQL的无缝链接技术等。

通过该系统,使员工可以方便地在企业内部进行仓储管理,给予企业决策者有利的支持。

同时通过该项目的编写加深了大家对C#语言和SQL语言的了解,为开发大型项目奠定基础。

关键词:仓库管理、C#、SQL Server 2008、开发和维护ABSTRACTWith the rapiddevelopment ofcomputer technology,computer applicationinenterprise managementpopularization, the information ma nagement systemhasbecomean indispensable part of enterprisesand instit utions, its contentforcorporatedecision makers andmanagers is vital,so usingcomputer to realize enterprise management is imperative.Warehouse management system is atypicalapplicationof managing informationsystem, itsdevelopment mainly includes the establishment andmaintenanceof database and foreground applicationdevelopment and maintenance of two aspects.Since for theformer requirement to establishdataconsistency and integrality, datasecurity gooddatabase. And for the latter request applicationsfully functional,easyto use,etc.Combined with the actual situation of enterprise warehouse management,thispaperputs forwardfor small andmedium-sizedenterprise warehousemanagementsystem basic design though t, this paperbriefly introduces thesystemeachfunctionmodule anddatabase design,and emphatically discusses thedevelopment withC#.NET technology and SQLServer 2008enterprisewarehouse managementsystem database access technologyand application design, and gives part of theimplementationcode.The system ona Windows XP system and VS.NET platform development is complete, usingc#asdevelopmentlanguage, SQLServer 2008asthe backgrounddatabase, the database system in terms ofsaf ety, accuracy,speedhasthe absoluteadvantage,and the ability to database for processing of large capacity,high efficiency, the system hashig hsecurity andgood performance,make full use of theadvantagesof the two, and improved the programming efficiency and reliability.In this article,in addition to the application ofsystemanalysis, overalldesign, databasedesign, function realization, mainpar t, before that,also introduced the information related toenterprise warehousemanagement system, theseamless link VS.NETand SQL technology,etc.Throughthis system, employees can easily within the enterprisewarehousemanagement, to givebetter support enterprisedecision makers. Throughthe project at thesame time writing deepenedunderstanding of c #language andSQL language,tolay a goodfoundation forthe development of large-scale projects.Keywords:warehousemanage,C#,SQLServer2008,developmentandmaintenance目录第1章绪论ﻩ错误!未定义书签。

仓库管理系统的设计与分析毕业论文

仓库管理系统的设计与分析毕业论文

仓库管理系统的设计与分析摘要随着经济全球化与信息技术的迅速发展,物流业已成为经济领域中发展最快、最活跃、最具热点的一个行业。

作为物流业操作中比较繁琐的一个重要环节,仓储运作的好坏将直接影响整个物流系统的成本与效率。

而开发一个好的仓库管理系统,使用计算机进行仓储管理,可以提高物流管理的现代化程序,加强管理的信息化手段,提高工作效率,增加企业效益;还可以实时掌握库存最新动态,方便查询。

本文在深入了解物流系统仓储管理的各种方法与对仓库管理工作流程进行分析的基础上,抽象出仓库管理系统的一般模式,设计并实现了仓库管理系统。

该系统采用C/S 架构,以Borland公司的JBuilder 2006软件为开发平台,用微软公司的SQL Server2000作为后台数据库,以货物查询、货物入库、货物出库、货物移库等操作为核心,实现仓库管理的信息化与自动化。

本文着重介绍了仓库管理系统的需求分析、实现的功能、业务流程、数据库设计、系统功能模块设计、设计等一系列开发流程。

关键字 C/S模式仓库管理系统 SQL Server 2000 Jbuilder 2006目录1 前言 01.1 设计背景与意义 01.2 设计目标 (1)1.3 系统开发环境 (2)1.3.1 系统配置 (2)1.3.2 开发工具 (2)1.3.3 准备工作 (3)2 系统分析 (4)2.1 系统需求分析 (4)2.2 系统功能分析 (4)2.3 数据库需求分析 (5)3 系统总体设计 (6)3.1 数据库设计 (6)3.1.1实体关系图(E-R图)设计 (6)3.1.2 数据流图 (11)3.1.3 创建数据库 (12)3.2 系统设计 (17)3.2.1系统功能结构图 (17)3.2.2 业务流程图 (18)4 系统功能模块设计 (20)4.1 登陆模块 (20)4.2 仓库管理系统模块 (21)4.2.1 仓库管理系统主界面模块 (21)4.2.2 入库登记模块 (22)4.2.3 出库登记模块 (23)4.2.4 移库登记模块 (23)4.2.5 业务单位信息模块 (24)4.2.6 业务查看模块 (25)5 系统实现 (25)5.1 建立与数据库连接的类 (26)5.2 建立把弹出窗口置屏幕中央的类 (27)5.3 登录系统的实现 (27)5.4 系统主界面的实现 (28)5.4.1 货物数据查询 (29)5.4.2 入库登记实现 (30)5.4.3 出库登记实现 (30)5.4.4 移库登记实现 (30)5.4.5 业务信息实现 (31)6 总结与展望 (31)6.1 总结 (31)6.2 展望 (31)致谢 (33)参考文献 (34)Abstract: (35)毕业设计成绩评定表........................................ 错误!未定义书签。

wms系统技术方案

wms系统技术方案

wms系统技术方案一、引言WMS(Warehouse Management System,仓库管理系统)是指通过计算机技术和信息管理手段,对仓库内的货物、信息和资金进行有效的管理,提高仓储效率和准确性的系统。

本文将详细介绍WMS系统的技术方案,从架构设计、功能模块、技术工具以及实施步骤等方面进行阐述。

二、架构设计1. 系统结构WMS系统采用分层结构设计,包括前端界面层、应用服务层和数据存储层。

前端界面层提供用户交互界面,应用服务层实现业务逻辑和核心功能,数据存储层负责数据的存储和管理。

2. 技术框架采用B/S架构,基于Web技术开发,前端使用HTML、CSS和JavaScript实现页面交互,后端使用Java语言和Spring框架进行业务逻辑处理和数据传输。

三、功能模块1. 仓库管理通过WMS系统,可以对仓库进行全面管理,包括仓库布局、库存管理、入库和出库管理等功能。

可以通过RFID技术进行货物的快速识别和定位,提高入库和出库的效率和准确性。

2. 订单管理WMS系统支持订单管理功能,包括订单录入、订单分配和订单跟踪等。

可以实现订单的自动化处理和实时监控,提高订单处理的效率和及时性。

3. 库存管理通过WMS系统,可以实时监控库存情况,包括库存数量、库存位置和库存品质等。

可以通过库存盘点和库存调整功能,保证库存信息的准确性和一致性。

4. 运输管理WMS系统可以与运输管理系统(TMS)集成,实现运输管理的协调和优化。

可以通过路线规划、运输跟踪和运输成本分析等功能,提高运输效率和降低成本。

四、技术工具1. 数据库采用关系型数据库,如Oracle或MySQL,用于存储数据和支持数据管理和查询操作。

2. 中间件使用消息队列中间件,如ActiveMQ或RabbitMQ,实现系统之间的消息传递和异步处理。

3. 异常监控使用ELK(Elasticsearch、Logstash、Kibana)技术堆栈,进行系统异常监控和日志分析,及时发现和解决系统问题。

C语言课程设计 仓库管理系统

C语言课程设计 仓库管理系统

《C语言程序设计》实训报告实训题目:仓库管理系统专业:班级:姓名:成绩:一:需求分析1:问题该系统所应包含的信息有以下一些:产品,仓库。

根据需求,该系统所应实现的功能有以下一些:输入密码进入操作界面产品入库,产品出库。

查询指定仓库编号的入库记录查询指定产品编号的入库记录查询指定入库时间的入库记录查询指定仓库编号的出库记录查询指定产品编号的出库记录查询指定出库时间的出库记录查询仓库中的产品是否过期可以在操作过程中修改密码2、系统采用C语言实现,开发环境为VC,可以运行在操作系统windows98及以上皆可。

3.运行要求1)可以进行随便操作,不受限制。

2)界面友好,操作方便,例如在进行产品出入库和查询时有提示操作。

二、总体设计1、系统流程设计根据系统要求,设计如下的系统流程2.系统模块设计如下,有三大基本功能:1.出库2.入库3.查询三:总体思路菜单显示:实现操作某功能时有相应的提示。

功能选择:每一种功能用相应的操作数字相对应。

产品出入库:在原有链表的基础上进行插入操作。

查询记录:调用对应的查询函数来实现。

四:详细设计1:定义结构体变量日期:struct warehouse{int wnum;char wname[20];char changename[20];}wh[5];产品:struct product{int pnum;char pname[20];char norms[10];}pr[10];链表:struct manage{int wnum;int pnum;char data[15];int number;int operate;struct manage *next;};为了能实现不受限制的产品出入库,采用链表的结构保存产品的信息,在增加产品出入库时,创建一个新的节点,将其插入到链表中,示意图如下。

2:模块化设计进入设计:以输入密码的方式进入,最多可输入三次,如果第三次输入错误,系统将自动退出。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

作品名称开发者:一、系统背景:本软件能减轻对货物数目管理及价格盈亏等信息处理的工作量以便能快捷及时准确的调整货物的仓储量达到最合理化。

可以使店主不失效率的节省大量精力用于其他方面符合当今社会的商业形式而且本软件体积小操作简单是管理仓库的不二选择二、系统简介:设计亮点:◆三级菜单使操作更简便明了◆密码操作能有效保证客户信息的安全性◆独特的dos命令调用使信息存储的实体属性为隐藏且无扩展名大大增大了安全系数◆数据结构为链表摆脱了数据数量的限制◆提供三种查看模式并会标出排名◆退出店主模式时会提示是否保存若选择yes着进行保存操作基本功能:·在员工模式下可输入卖出货物的名称和数目程序自动在后台进行一系列的操作·新建数据并同时对其处理·修改数据·插入数据·删除数据·查找数据·查看数据·数据存档·修改密码三、系统结构图#define LEN sizeof(struct shop)#include<stdio.h>#include<conio.h>#include<string.h>#include<stdlib.h>struct shop{char name[30];float price_in;float price_out;int num_in;int num_now;int num_sold;float win;float percent;struct shop *next;};int n=0;void main(void){void auto1(struct shop **h_p);int menu1(struct shop **h_p);void print1(void);void assistant(struct shop *head);int password(void);int menu2(struct shop **h_p);void print2(void);void creat(struct shop **h_p);void rewrite(struct shop **h_p);void insert(struct shop **h_p);void deleat(struct shop **h_p);void search(struct shop **h_p);void printall(struct shop **h_p);void save(struct shop *head);void password_set(void);int password_exi(struct shop **h_p);int data_exi(struct shop **h_p);void load(struct shop **h_p);void save(struct shop *head);struct shop *addbuild(struct shop **h_p); void sort0(struct shop **h_p);int search1(struct shop **h_p,char a[30]); void sort1(struct shop **h_p);void sort2(struct shop **h_p);void sort3(struct shop **h_p);void print3(void);void password_create(void);struct shop *addbuild(struct shop **h_p); int a;struct shop *head,**h_p;head=NULL;h_p=&head;auto1(h_p);do{a=menu1(h_p);}while(a!=3);system("cls");printf("谢谢使用^_^");getch();}int menu1(struct shop **h_p){int a,b;struct shop *head;head=*h_p;print1();scanf("%d",&a);putchar('\n');getchar();do{switch(a){case 1:assistant(head);break;case 2:if(password())do{b=menu2(h_p);}while(b!=9);break;default:break;}if(a!=3){system("cls");print1();scanf("%d",&a);}}while(a!=3);return(a);}int menu2(struct shop **h_p){int b;char a;struct shop *head;head=*h_p;print2();scanf("%d",&b);putchar('\n');getchar();do{switch(b){case 1:creat(h_p);break;case 2:rewrite(h_p);break;case 3:insert(h_p);break;case 4:deleat(h_p);break;case 5:search(h_p);break;case 6:printall(h_p);break;case 7:head=*h_p;save(head);break; case 8:password_set();break; default:break;}if(b!=9){system("cls");print2();scanf("%d",&b);getchar();}while(b!=9);printf("\n保存吗?(y/n):");putchar('\n');scanf("%c",&a);if(a=='y'){head=*h_p;save(head);}return(b);}void auto1(struct shop **h_p){if(password_exi(h_p) && data_exi(h_p))load(h_p);}void print1(void){system("cls");printf("********************************************************************* ***********\n");printf(" 仓库管理系统\n");printf("********************************************************************* ***********\n");printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ \n");printf(" #******************* 菜单*****************# \n");printf(" #| 1.员工模式|# \n");printf(" #| 2.店主模式|# \n");printf(" #| 3.退出|# \n");printf(" #*********************************************# \n");printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ \n");printf("\n请选择(1-3):");}void assistant(struct shop *head){char a[50],c='y';int b;struct shop *i;i=head;while(c=='y'){system("cls");printf("\n请输入卖出的商品名称:\n");gets(a);putchar('\n');printf("\n请输入卖出的商品数量:\n");scanf("%d",&b);putchar('\n');while(strcmp(i->name,a)!=0&&i->next!=NULL)i=i->next;if(i->next!=NULL){i->num_now-=b;i->win=(i->num_in-i->num_now)*(i->price_out-i->price_in); }elseprintf("\n此商品不存在或通知店主更新数据库\n"); printf("\n继续吗?(y/n):");putchar('\n');c=getchar();getchar();}save(head);}int password(void){FILE*fp;char a[50],b[50];int i;system("cls");fp=fopen("c:\\y_secrea","rb");fscanf(fp,"%s",&a);fclose(fp);printf("请输入密码:\n");putchar('\n');i=0;do{b[i]=getch();printf("*");i++;}while(b[i-1]!=13&&i<19);b[i-1]='\0';if(strcmp(a,b)==0)return(1);elsereturn(0);}void print2(void){system("cls");printf("********************************************************************* ***********\n");printf(" 店主模式\n");printf("********************************************************************* ***********\n");printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ \n");printf(" #******************* 菜单*****************# \n");printf(" #| 1.新建 2.修改|# \n");printf(" #| 3.插入 4.删除|# \n");printf(" #| 5.查找 6.查看|# \n");printf(" #| 7.保存8.改密|# \n");printf(" #| 9.上一层|# \n");printf(" #*********************************************#\n");printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ \n");printf("请选择(1-9):");}void creat(struct shop **h_p){struct shop *head,*i,*j;int f=1;head=NULL;n=0;printf("\n请输入数据若完成请在名称处输“0”.\n\n");i=j=addbuild(&head);if(strcmp(i->name,"0")==0)f=0;while(f){n++;if(n==1)head=j;f=1;printf("\n请输入下一种货物的数据.\n\n");i=addbuild(&head);if(strcmp(i->name,"0")==0){free(i);f=0;break;}j->next=i;j=i;}j->next=NULL;*h_p=head;}void rewrite(struct shop **h_p){char a[30];struct shop *i,*j,*head;head=*h_p;i=head;do{printf("\n请输入要修改货物的名称:"); putchar('\n');gets(a);if(n>=1&&!search1(h_p,a)){printf("\n不存在的货物名称!\n");getch();if(head==NULL) goto end;}}while(n>=1&&!search1(h_p,a));while(strcmp(a,i->name)!=0&&i->next!=NULL) {i=i->next;}if(strcmp(a,i->name)==0){printf("\n真的要修改吗??(y/n):"); putchar('\n');if(getchar()=='y'){getchar();j=addbuild(h_p);strcpy(i->name,j->name);i->price_in=j->price_in;i->price_out=j->price_out;i->num_in=j->num_in;i->num_now=j->num_now;i->num_sold=j->num_sold;i->win=j->win;i->percent=j->percent;free(j);printf("\n修改完成^_^\n\n");}}end:;}void insert(struct shop **h_p){struct shop *i,*j,*x,*head;head=*h_p;x=addbuild(h_p);i=j=head;while(strcmp(i->name,x->name)<0&&i->next!=NULL) {j=i;i=i->next;}if(strcmp(i->name,x->name)>=0){if(i==head)head=x;elsej->next=x;x->next=i;}else{i->next=x;x->next=NULL;}printf("\n插入完成^_^\n\n.");*h_p=head;}void deleat(struct shop **h_p){struct shop*i,*j,*head;char a[30],b;head=*h_p;do{system("cls");printf("\n请输入你要删除的货物的名称:\n"); putchar('\n');gets(a);if(n>=1&&!search1(h_p,a))printf("\n不存在的货物名称!\n");if(head==NULL) goto end;}}while(n>=1&&!search1(h_p,a));printf("\n真的要删除吗?(y/n):");putchar('\n');b=getchar();getchar();if(b=='y'){i=head;while(strcmp(i->name,a)!=0&&i->next!=NULL) {j=i;i=i->next;}if(strcmp(i->name,a)==0){if(i==head){head=i->next;free(i);}elsej->next=i->next;n--;printf("\n删除完成^_^.\n\n");*h_p=head;}}end:;void search(struct shop **h_p){int begin,end,mid,t;char a[30];struct shop *i,*head;head=*h_p;i=head;printf("\n请输入要查询货物的名称:");putchar('\n');gets(a);while((strcmp(i->name,a)!=0)&&i->next!=NULL){i=i->next;}if((strcmp(i->name,a)==0)){printf("\n名称\t进价\t售价\t进货数目存货数目销量\t赢利\t利率\n"); printf("\n=================================================================== ============\n");printf("%s%10.2f%10.2f%10d%10d%10d%9.2f%10.2f",i->name,i->price_in,i->price_out,i->n um_in,i->num_now,i->num_sold,i->win,i->percent);}elseprintf("\n此货物不存在!\n");getch();}void printall(struct shop **h_p){int a,c;char b='y';struct shop *i;while(b=='y'){do{system("cls");print3();scanf("%d",&a);}while(a!=1&&a!=2&&a!=3);switch(a){case 1:sort1(h_p);break;case 2:sort2(h_p);break;case 3:sort3(h_p);break;default:break;}for(c=1,i=*h_p;i->next!=NULL;i=i->next,c++){printf("\n名称\t进价\t售价\t进货数目存货数目销量\t赢利\t利率\t排名\n");printf("\n=================================================================== ============\n");printf("%s%10.2f%10.2f%10d%10d%10d%9.2f%10.2f%8d",i->name,i->price_in,i->price_out,i ->num_in,i->num_now,i->num_sold,i->win,i->percent,c);if(c%8==0){getch();getchar();printf("按任意键继续。

相关文档
最新文档