一个简单的商品管理系统程序清单 c++ 请25号前交给我 malchike@live.cn

一个简单的商品管理系统程序清单 c++ 请25号前交给我 malchike@live.cn,第1张

#include<iostreamh>

const int N=5;

struct PRODUCT

{

int code;//商品代码

char name[20];//商品名称

double price;//单价

int amount;//商品数量

int sales;//销售量

int stock;//商品的库存量

}pro[N];

void input(struct PRODUCT p);

void sort1(int stock,int sales);//冒泡法按商品的库存量排序

void sort2(int code);//选择法按商品代码排序

void search1();//选择法按商品库存量查询

void search2(int code);//折半法按商品代码查询

void out();

void main()

{

int code;

struct PRODUCT p;

input(p);

int ch;

do

{

cout<<"按库存量排序, 请选择: 1 "<<endl;

cout<<"按商品代码排序,请选择: 2 "<<endl;

cout<<"按商品代码查询,请选择: 3 "<<endl;

cout<<"按库存量查询, 请选择: 4 "<<endl;

cout<<"显示商品信息, 请选择: 5 "<<endl;

cout<<"结束程序, 请选择: 6 "<<endl;

cin>>ch;

switch (ch)

{

case 1:sort1(pro[N]stock,pro[N]sales);

break;

case 2:sort2(pro[N]code);break;

case 3:

{

cout<<"请输入商品代码";

cin>>code;

search2(code);

}break;

case 4:search1();break;

case 5:out();break;

case 6:0;break;

default:cout<<"您的输入有错"<<endl;

}

}while(ch!=6);

}

void input(struct PRODUCT P)

{

cout<<"输入英文的时候,请以?为结束标志"<<endl<<endl;

for(int i=0;i<N;i++)

{

cout<<"请输入商品信息 :";

cin>>pro[i]code;cingetline(pro[i]name,10,'\');cin>>pro[i]price>>pro[i]amount>>pro[i]sales;

pro[i]stock=pro[i]amount-pro[i]sales;

}

}

void sort1(int stock,int sales)//冒泡法按商品的库存量排序

{

struct PRODUCT t;

for(int i=0;i<N-1;i++)

for(int j=0;j<N-i-1;j++)

if(pro[j]stock>pro[j+1]stock)

{

t=pro[j];

pro[j]=pro[j+1];

pro[j+1]=t;

}

for(i=0;i<N-1;i++)

for(int j=0;j<N-i-1;j++)

if(pro[j]stock==pro[j+1]stock&&pro[j]sales>pro[j+1]sales)

{

t=pro[j];

pro[j]=pro[j+1];

pro[j+1]=t;

}

cout<<"code"<<'\t'<<"name"<<'\t'<<"price"<<'\t'<<"amount"<<'\t'<<"sales"<<'\t'<<"stock"<<endl;

for(i=0;i<N;i++)

cout<<pro[i]code<<'\t'<<pro[i]name<<'\t'<<pro[i]price<<'\t'<<pro[i]amount<<'\t'<<pro[i]sales<<'\t'<<pro[i]stock<<endl;

}

void sort2(int code)//选择法按商品代码排序

{

struct PRODUCT t;

for(int i=0;i<N-1;i++)

for(int j=i+1;j<N;j++)

if(pro[i]code>pro[j]code)

{

t=pro[i];

pro[i]=pro[j];

pro[j]=t;

}

cout<<"code"<<'\t'<<"name"<<'\t'<<"price"<<'\t'<<"amount"<<'\t'<<"sales"<<'\t'<<"stock"<<endl;

for(i=0;i<N;i++)

cout<<pro[i]code<<'\t'<<pro[i]name<<'\t'<<pro[i]price<<'\t'<<pro[i]amount<<'\t'<<pro[i]sales<<'\t'<<pro[i]stock<<endl;

}

void search1()//选择法按商品库存量查询

{

int stock1,stock2;

cout<<"请从小到大输入您要查找商品库存量的范围 ";

cin>>stock1>>stock2;

cout<<"code"<<'\t'<<"name"<<'\t'<<"price"<<'\t'<<"amount"<<'\t'<<"sales"<<'\t'<<"stock"<<endl;

for(int i=stock1;i<=stock2;i++)

{

for(int j=0;j<N;j++)

if(i==pro[j]stock)break;

if(j==N)

cout<<"";

else

cout<<pro[j]code<<'\t'<<pro[j]name<<'\t'<<pro[j]price<<'\t'<<pro[j]amount<<'\t'<<pro[j]sales<<'\t'<<pro[j]stock<<endl;

}

cout<<"如果没有显示则无此商品信息"<<endl;

}

void search2(int code)//折半法按商品代码查询

{

struct PRODUCT t;

for(int i=0;i<N-1;i++)

for(int j=0;j<N-i-1;j++)

if(pro[j]code>pro[j+1]code)

{

t=pro[j];

pro[j]=pro[j+1];

pro[j+1]=t;

}

int top=0,bottom=N-1,middle=(top+bottom)/2;//折半法查找商品代码

while(top<=middle)

{

if(code==pro[middle]code)

break;

else if(code>pro[middle]code)

top=middle+1;

else

bottom=middle-1;

middle=(top+bottom)/2;

}

if(code==pro[middle]code)

{

cout<<"code"<<'\t'<<"name"<<'\t'<<"price"<<'\t'<<"amount"<<'\t'<<"sales"<<'\t'<<"stock"<<endl;

cout<<pro[middle]code<<'\t'<<pro[middle]name<<'\t'<<pro[middle]price<<'\t'<<pro[middle]amount<<'\t'<<pro[middle]sales<<'\t'<<pro[middle]stock<<endl;

}

else

cout<<"没有您要找的商品"<<endl;

}

void out()

{

cout<<"code"<<'\t'<<"name"<<'\t'<<"price"<<'\t'<<"amount"<<'\t'<<"sales"<<'\t'<<"stock"<<endl;

for(int i=0;i<N;i++)

cout<<pro[i]code<<'\t'<<pro[i]name<<'\t'<<pro[i]price<<'\t'<<pro[i]amount<<'\t'<<pro[i]sales<<'\t'<<pro[i]stock<<endl;

}

这是SQL水平问题,与开发语言没关系,SQL的复杂度还涉及到你的系统本身设计问题,每个系统的设计思路不同,程序的流程自然不尽相同,所以你的功能要根据你的实示思路来编写。网上也很多这方面的程序,可以下载来参考一下。

库存管理系统 --------------摘要--------------

仓库管理是本世纪中期发展起来的一门新兴学科。它最早产生于二战时期的美国,五十年代中期,仓库概念传人日本,并得到快速发展。时至今日,仓库管理已成为西方企业管理中不可或缺的一部分,在许多国家得到了广泛的研究与应用。总的说来,仓库管理就是通过采购、仓储、综合、出库、配送等活动,解决物资供需之间存在的时间、空间、数量、品种价格等方面的矛盾,以此衔接社会生产的各环节,从而确保生产的顺利进行。实现仓库管理现代化的根本途径是信息化、系统化

MCIROSPFT公司的 VB 60开发工具,有各种各种面向对象的控件,。我们将在VB 60中使用ADO控件连接Access数据库,将存在数据库的信息通过界面显示出来,并进行修改,查询等 *** 作。关键字:控件、窗体、表。

-------------前言--------------

仓储综合并不是新的概念,而仓库的概念就相对新的多,几乎成为最时髦的概念之一。全国各地都在筹建仓库中心,巨大的产业格局正在形成,第三方仓库方面的讨论,社会分工理论又一次支持我们细分新的产业。

在这里我们所要理解的是仓库所产生背景,仓库原本是由企业自己管理的问题,当企业规模或影响足够大时,才产生出对第三方仓库的需求,因此分析生产企业的仓库,能让我们更清楚理解在处理仓库时那些是需要关注的问题,对第三仓库的要求到底是什么。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对仓库进行管理,具有着手工管理所无法比拟的优点例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高商场货物管理的效率,也是科学化、正规化管理的重要条件。

因此,开发这样一套管理软件成为很有必要的事情,下面我们谈谈其开发过程和所涉及到的问题及解决方法。

第一章1.1 企业仓库的基本观念

储存与综合问题由来已久,在人们只是分段来考虑这些问题时,所观察到的是孤立的仓库管理和综合管理。经济全球化的进程和信息技术的运用,使我们开始用更为系统的观念来看待储存与综合问题,从而有了仓库的概念,也有了配送中心的概念。

仓库业由此成为目前最为热门的发展方向之一,在仓库方面的进步业将有助于建立更好的信用体系,为电子商务奠定良好的运行基础。仓库水平的提升将加速经济的运行速度,减少装卸、仓存不仅直接减少生产成本,其效应还回扩散到生产企业、百货商业、以及千家万户的消费者。

在企业内部,降低库存、缩短生产周期也对其仓库管理提出更高要求。生产企业的仓库体系的形成,将使企业能更精细的管理到从材料到生产、从生产到出库各个环节的流动资产状况,帮助企业认识到仓库在企业生产过程中的成本因素。

企业仓库也因为全球经济的形成,向国外投资的增长而变得更加复杂,甚至需要第三方仓库公司合作,才能处理好有关问题。这些会在这段时间的讨论中提到。

■资金流、信息流与仓库的关系

在现代企业管理中,引进了资金流、信息流和仓库管理的概念,所谓“流”就是不孤立地看问题,不把企业运行当成是一个一个独立的部门,要以全局的观念、动态的观念来观察企业的运行。在这种观念的管理之下,企业的运行才具有效率,不致因为某个人的惰性而阻碍决策的完成,企业的执行力也因之得到提升。

资金流所反映的是企业的整体发展状况,也是企业运行的燃烧体系,为企业的运行提供动力和能量。对于资金流的关注,反映出企业是如何管理各个环节的效益产出的,去掉那些无效益的环节,才能防止企业失血,我们知道资金断流甚至为使企业有如失血过多的病人不具备生存的能力。

信息流的观念为企业的决策和执行建立出完整的体系,产生于生产线上、客户反馈和供应商报告中,为企业描述出生存环境的状态。信息流的不畅,会使企业的决策和执行机构瘫痪,而关注信息流,才是保持企业耳聪目明的正确方法。

企业仓库的管理意义,在于消除任何不必要的存储环节,加快生产的运行。我们清楚地知道,库存积压意味着资金流动不畅,就如一个人消化不良一样,要小健康发展几乎没有可能。

那么我们便可清楚:资金流恰如血液、信息流有如感官、而仓库则是消化吸收能量的过程。

■企业仓库的目标与价值

无论从宏观的角度还是微观的角度,加速周转时创造财富最有效的方法和途径,所以才形成了速度制胜的观念,对资金流、信息流和仓库的研究完全有可能发展出速度经济学,来研究企业的运行速度如何成为核心竞争力的一大要素。

在社会分工的仓库领域,仓库的重要目标是消灭库存,把从起运地到目的地之间的所有运行工具都充分利用起来,实现最短送达方案,包括路途最短、时间最短和费用最低的综合目标。在企业内部的仓库体系中,则有帮助企业实现JIT生产,或称即时生产的目标,减少企业的库存成本和费用。

我们可以观察到一个现象,跨国公司在进行配件采购时,往往将需要库存时间的配件交给下游厂家来做,而安排出来的收货时间,正好能满足自己的JIT生产计划,而同时他们在谈判中从来不把库存成本考虑在内。

实际上他们是将库存成本转移了出去,所采用的方法便是建立自己的仓库体系,进行所谓的供应链管理。

■企业仓库的管理范围

在第三方仓库中,货物的综合、装卸、储存是通过向客户提供服务而体现出来的,管理内容比较明确。在企业内部,仓库并不完全交给一个中央管理部门来负责,是多个部门集体协商进行管理的,比较完善的做法也只是有企业的管理部门提出相应的管理流程。

在企业仓库的管理流程中,仓库的界定也有许多困难,比如车间内部的配料仓库、或半成品仓的管理,一般来讲是独立的,并不需要更高部门介入。在企业范围这个大的系统框架下,车间内部的管理并不一定要外露到更高的层次上。

企业仓库可以研究生产车间的这些过程,但更重要的管理点应该放在采购、出库和生产部门之间的物料转移过程。特别是在企业发展到需要跨地区采购、跨地区生产的情况下,其仓库管理就更含有具体的内容。

特别关注到是物品在不同部门之间传送的过程,与第三方仓库所要关注的物权转移将有很大的区别。在第三方仓库中,需要特别注意处理物权转移的相关单证,而企业内的仓库则更多是关注于效率的。1.2 如何开发企业仓库管理系统

我们使用VB做开发语言,Access关系型数据库作为后台。我们将在VB 60中使用ADO控件连接Access数据库,将存在数据库的信息通过界面显示出来,并进行修改,查询等 *** 作。

系统的前期设计

1 应用程序设计结构

1 建立数据库,基本资料就存放在其中

通过Access建立数据库

2 用VB开发出界面连接数据库

使用ADO控件的连接数据库,通过 DATAGRID 和 TEXT显示出来。

3 在应用程序中用查询和统计等手段对数据库的资料进行处理,得到有效的数据,分析管理情况,得出结论和措施,然后就可以通过措施,达到管理提高效率的目的。

2 多用户登陆问题

a 建立模块,Module1

b 在模块中申明变量 Public jibie

c 在数据库建立用户表,存放用户名和密码,然后输入多个用户

d 通过ADO代码连接到数据库。

E 通过SQL语句 判断是否用户数据库有。

F 如果没有则退出。

G 如果有 通过SQL语句判断是否密码正确。

H 如果正确则发送数据库的该用户名到公共变量 jibie = myrs("jibie")

I 通过变量决定各个用户的权限。3 组合查询

实现:将查询的字段也设为变量嵌入到SQL中语句如下:

ss2 = Text2Text

ss3 = Text3Text

ss4 = Text4Text

ss5 = Text5Text

Adodc1RecordSource = "SELECT FROM jiating where " + ss2 + "='" + ss4 + "' and " + ss3 + "='" + ss5 + "'"

Adodc1Refresh可以任意输入字段,任意的进行查询

For i = 1 To Rows - 1

'库存判断

if conexcute("select count() from 库存表 where 商品编号 = TextMatrix(i, 1) and 库存量>0")>0 then

rsaddnew

rsupdae

end if

next

你要的功能我已经做完了,调试通过,你可以把我的代码全部copy进去,就可以使用了。

#include<string>

#include<iostream>

using namespace std;

static int N;

struct Medicine //定义链表

{

int ID; //ID号

string name; //药品名称

string category; //药品类别

int num;//药品数量

/

string ids; //药品批准文号

string company; //生产企业

int month; //有效期

int date_year; //年

int date_month; //月

int date_day; //日

/

Medicine pNext;

};

Medicine create(int n)

{

int ID; //ID号

string name; //药品名称

string category; //药品类别

int num;//药品数量

/

string ids; //药品批准文号

string company; //生产企业

int month; //有效期

int date_year; //年

int date_month; //月

int date_day;

/

Medicine h,p,s;

if ((h=new Medicine)==NULL)

{

cout<<"分配内存失败"<<endl;

exit(1);

}

h->name=" ";

h->ID = 0;

h->pNext=NULL;

p=h;

for (int i=0;i!=n;++i)

{

if((s=new Medicine)==NULL)

{

cout<<"分配内存失败"<<endl;

exit(1);

}

p->pNext=s;

cout<<"请输入第"<<i+1<<"个药品的ID:";

cin>>ID;

s->ID = ID;

cout<<"请输入第"<<i+1<<"个药品的名称:";

cin>>name;

s->name = name;

cout<<"请输入第"<<i+1<<"个药品的类别:";

cin>>category;

s->category = category;

cout<<"请输入第"<<i+1<<"个药品的数量:";

cin>>num;

s->num = num;

s->pNext=NULL;

p=s;

}

//p->pNext=NULL;

return h;

}

//查询结点

Medicine search(const Medicine h, string name, int N)

{

int temp = N;

Medicine p=h->pNext;

for (int i=0;i!=temp;++i)

{

if (namecompare(p->name)==0)

{

return p;

}

p=p->pNext;

}

return NULL;

}

//后插入

//extern N;

void Insert(Medicine p)

{

Medicine s;

if ((s=new Medicine)==NULL)

{

cout<<"分配内存失败"<<endl;

exit(1);

}

cout<<"请输入你要插入的药品名称:";

cin>>s->name;

s->pNext=p->pNext;

p->pNext=s;

++N;

}

//查询前向结点

Medicine searchPre(Medicine head, string name)

{

Medicine p=head;

Medicine q=p->pNext;

for (int i=0;i!=N;++i)

{

if (q!=NULL)

{

if (namecompare(q->name)==0)

return p;

}

else

return NULL;

p = q;

q = q->pNext;

}

return NULL;

}

//删除结点

void Delete(Medicine p, Medicine q) //p为删除的结点指针,q为前一个结点指针

{

Medicine temp;

temp=p->pNext;

delete p;

q->pNext=temp;

--N;

};

//释放内存空间

void display(Medicine h)

{

/

Medicine p;

for (int i=0;i!=N;++i)

{

p = h;

while(p->pNext)

{

p=p->pNext;

}

if(p != h)

{

cout<<"[DEL:"<<p->name<<"]"<<endl;

delete p;

}

}

/

Medicine p=h->pNext;

Medicine pTemp;

while(NULL!=p->pNext)

{

pTemp = p->pNext;

cout<<"[删除:"<<p->name<<"]"<<endl;

delete(p);

p->pNext=NULL;

p=pTemp;

}

cout<<"[删除:"<<pTemp->name<<"]"<<endl;

delete(pTemp);

/

cout<<"[DEL:"<<h->name<<"]"<<endl;

delete(h);

h=NULL;

/

}

void main()

{

Medicine head,p=0,q=0;

//char str[20];

string str;

int flag=1;

int sum;

int k;

cout<<"总共药品数量:";

cin>>N;

head=create(N);

cout<<"\r\n";

//display(head);

cout<<"所要查询的药品名是: ";

cin>>str;

//查询当前结点

if(p=search(head,str,N))

{

cout<<"该药品的ID为"<<p->ID;

}

else

{

cout<<"该药品不存在";

}

cout<<"\r\n";

// Insert(p);

while(flag)

{

sum=0;

p=head->pNext;

cout<<"开始统计药品,请输入药品类别"<<"\r\n";

cin>>str;

for(k=0;k!=N;++k)

{

if (strcompare(p->category)==0)

{

sum=sum+p->num;

}

p=p->pNext;

}

cout<<"属于"<<str<<"的药品有"<<sum<<"个库存量"<<"\r\n";

cout<<"是否统计完毕?(1继续统计/0下一个项目)";

cin>>flag;

}

//查询前驱结点并删除当前结点

cout<<"所要删除的药品名是: ";

cin>>str;

q = head->pNext;

if(strcompare(q->name)==0)

{

delete q;

}

else

{

if(q=searchPre(head,str))

{

p=search(head,str,N);

Delete(p,q);

}

else

{

cout<<"该药品不存在";

}

}

cout<<"\r\n"<<"该药品已经删除完毕"<<"\r\n";

cout<<"程序将要推出,现在演示删除全部链表"<<"\r\n";

display(head);

}

我只是做了药品类的一部分变量,其余的相似,你自己添加吧,程序调试通过。

以上就是关于一个简单的商品管理系统程序清单 c++ 请25号前交给我 malchike@live.cn全部的内容,包括:一个简单的商品管理系统程序清单 c++ 请25号前交给我 malchike@live.cn、如何用易语言做(进销存管理系统)里面的(库存查看)这个功能呢!库存查看的代码怎么写!是易语言的。、用VB开发库存管理系统如何做麻烦各位帮忙解答下~~~等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10209495.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存