仓储管理课程设计入库
❶ 1.仓库管理系统 数据库课程设计、。
我有加我
但我要100分
http://www.namipan.com/my/my.php?auth=228e50eca308dc87
去下载吧
❷ C语言课程设计-- 仓库管理系统
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<malloc.h>
#define max 32
int ifempty=0;//标志,判断链表是无否为空
typedef struct dnode /* 定义双向链表结构体 */
{
int number; /* 货物编号 */
char name[max]; /* 货物名称 */
int counter; /* 货物数量 */
struct dnode *prior, *next;
/* 定义两指针,分别指向其前驱和后继 */
}dlnode;
dlnode *create(dlnode *L);
dlnode *input(dlnode *L);
dlnode *output(dlnode *L);
dlnode * outnum(dlnode *L);
dlnode * outname(dlnode *L);
dlnode *current(dlnode *L);
void search(dlnode *L);
void print(dlnode *L);
void searchnum(dlnode *L);
void searchname(dlnode *L);
void display(dlnode *L) ;
void main()
{
int x;
dlnode *L;
if(!(L=(dlnode *)malloc(sizeof(dlnode)))) //分配空间
{
printf("\n");
exit(1);
}
create(L);///调用函数,创建头节点
while(1)
{////////////////////////主菜单///////////////////////////
printf(" ============================\n");
printf(" 1. 货物出库和入库\n");
printf(" 2. 查找货物表\n");
printf(" 3. 显示仓库货物表\n");
printf(" 4. 输出到文件\n");
printf(" 0. 退出\n");
printf(" =============================\n");
printf(" 选择0--3:");
scanf("%d",&x);
switch(x)
{
case 2:search(L);break;//调用查找函数
case 1:current(L);break;//调用入库出库函数
case 3:display(L);break;//调用显示输出函数
case 4:print(L);break;//调用打印函数
case 0:printf("\n bye!see you!\n");
getchar();getchar();exit(0);//退出程序
default:printf("\n Enter erreor!please input 0--4!");
getchar();getchar();
}
}
}
dlnode *create(dlnode *L)//创建链表头节点
{
printf(" 欢迎使用我的仓库管理系统");
getchar();
ifempty=0;
///////初始化头节点的值////////
L->next=NULL;L->prior=NULL;
L->number=L->counter=0;
strcpy(L->name," ");
return L;
}
void search(dlnode *L) ///查找的主要菜单
{
int y;
if(ifempty==0)
{
printf("没有输入货物!\n");
getchar();getchar();
return;
}
else
{
while(1)
{
printf("=====================\n");
printf("1.按编号查询\n");
printf("2.按货物名称查询\n");
printf("0.返回上一层\n");
printf("====================\n");
printf("选择0--2:");
scanf("%d",&y);
switch(y)
{
case 1:searchnum(L);break;//调用按编号查找的函数
case 2:searchname(L);break;//调用按名称查找的函数
case 0:return;//返回
default:printf("enter error!Please input 0--2!\n\n");
getchar();getchar();printf("\n\n");
}
}
}
}
void searchnum(dlnode *L)///按编号查找的函数
{
int num,flag=0;//flag为是否找到的标志
dlnode *head=L;
if(ifempty==0)
{
printf("没有货物被输入\n");
getchar();getchar();
return;
}
printf("输入你要查找的货物编号:\n");
scanf("%d",&num);
while((L=L->next)!=head)
{
if(L->number==num)
{ flag=1;//flag为1时表示找到
printf("找到指定编号货物 \n");
printf("\n编号:%d\n",L->number);
printf("名称:%s\n",L->name) ;
printf("数量:%d\n\n",L->counter);
}
}
if(flag==0)//flag为0时表示没有找到
printf("没有找到指定编号货物,请查看是否还有货物。\n");
getchar();getchar();
}
void searchname(dlnode *L)//按名称查找的函数
{
int flag=0;//flag为是否找到的标志
char na[32];
dlnode *head=L;
if(ifempty==0)
{
printf("没有货物被输入\n");
getchar();getchar();
return;
}
printf("输入你要查找的货物名称\n");
scanf("%s",&na);
while((L=L->next)!=head)
{
if(strcmp(L->name,na)==0)
{ flag=1;//flag为1时表示找到
printf("找到指定名称货物 \n");
printf("\n编号:%d\n",L->number);
printf("名称:%s\n",L->name) ;
printf("数量:%d\n\n",L->counter);
}
}
if(flag==0)//flag为0时表示没有找到
printf("没有找到指定编号货物,请查看是否还有货物。\n\n");
getchar();getchar();
}
dlnode *current(dlnode *L)//货物出库入库函数
{
int y;
while(1)
{
printf("========================\n");
printf(" 1.货物入库\n");
printf(" 2.货物出库\n");
printf(" 0.返回上一层\n");
printf("========================\n");
printf(" 选择0--2:");
scanf("%d",&y);
switch(y)
{
case 1:input(L);break;//调用入库函数
case 2:output(L);break;//调用出库函数
case 0:return(L);//返回上一层
default:printf("enter error!Please input 0--2!");
getchar();getchar();
printf("\n\n");
}
}
}
dlnode *input(dlnode *L)//定义入库函数
{
dlnode *in,*head;
head=in=(dlnode *)malloc(sizeof(dlnode));//分配空间
head=L;
printf("\n请输入货物数据:\n");
printf("编号:");scanf("%d",&in->number);
printf("名称:");scanf("%s",&in->name);
printf("数量:");scanf("%d",&in->counter);
if(L->next==NULL) //如果只有头节点,
{ //把刚输入的in节点
L->next=in; //跟在头节点后面
L->prior=in; //
in->next=L; //
in->prior=L; //
ifempty++; //ifempty加1
}
else
{//如果当前L的下一个节点不是头节点
while((L=L->next)!=head)
{//如果输入的数大于L->number,则插到L的前面
if(L->number<in->number)
{
in->next=L;
in->prior=L->prior;
L->prior->next=in;
L->prior=in;
ifempty++; //ifempty加1
return(head);
}
}
//输入的编号比其它编号都小,则插到最后个节点,并首尾相连
head->prior->next=in;
in->prior=head->prior;
head->prior=in;
in->next=head;
ifempty++; //ifempty加1
}
return head;
}
dlnode *output(dlnode *L)//出库的函数
{
int y;
dlnode *head=L;
if(ifempty==0)//检测是否有货物输入
{
printf("没有货物输入系统\n");
getchar();getchar();
return(head);
}
while(1)
{
printf("=============\n");
printf("1.按编号出库\n");
printf("2.按名称出库\n");
printf("0.返回上一层\n");
printf("==============\n");
printf("选择0--2:");scanf("%d",&y);
switch(y)
{
case 1:outnum(L);break;//调用按编号出库函数
case 2:outname(L);break;//调用按名称出库函数
case 0:return(L);
default:printf("enter error!Please input 0--2!");
getchar();getchar();printf("\n\n");
}
}
}
dlnode *outnum(dlnode *L)//按编号出库函数
{
int num;
dlnode *head=L;
printf("请输入出库货物的编号:");
scanf("%d",&num);
while((L=L->next)!=head)
{//如果找到就删除节点
if(L->number==num)
{
L->prior->next=L->next;
L->next->prior=L->prior;
ifempty--; //ifempty减1
printf("编号为%d的货物成功出库",num);
getchar();getchar();
return head;
}
}
printf("没有此编号的货物,请查看是否还有货物。\n\n");
getchar();getchar();
return (head);
}
dlnode *outname(dlnode *L)//按名称出库函数
{
char na[32];
dlnode *head=L;
printf("请输入出库货物的名称:");
scanf("%s",&na);
while((L=L->next)!=head)
{//如果找到就删除节点
if(strcmp(L->name,na)==0)
{
L->prior->next=L->next;
L->next->prior=L->prior;
ifempty--; //ifempty减1
printf("名称为%s的货物成功出库",na);
getchar();getchar();
return (head);
}
}
printf("没有此名称的货物,请查看是否还有货物。\n\n");
getchar();getchar();
return(head);
}
void display(dlnode *L)//显示货物清单
{
dlnode *head=L;
if(ifempty==0)
{
printf("没有货物可显示\n");
getchar();getchar();
return;
}
L=L->next;
do
{
printf("\n编号:%d\n",L->number);
printf("名称:%s\n",L->name) ;
printf("数量:%d\n\n",L->counter);
}while((L=L->next)!=head);
getchar();getchar();
}
void print(dlnode *L)
{
dlnode *head=L;
L=L->next;
char filename[max];
FILE *out;
if(ifempty==0)
{
printf("没有货物可输出\n");
getchar();getchar();
return;
}
printf("请输入文件名称:");
scanf("%s",filename);
if((out=fopen(filename,"w"))==NULL)
{
printf("打开文件失败!\n");
getchar();getchar();
return;
}
do{
fprintf(out,"编号:%d\n名称:%s\n数量:%d\n\n",L->number,L->name,L->counter);
}while((L=L->next)!=head);
printf("输出成功\n");getchar();getchar();
fclose(out);
}
❸ 求数据库课程设计----仓库管理系统
可以联系,看ID
❹ 求高手发c语言课程设计作业,仓库管理系统,支持入库出库,库存查询以及打印,用户可自定义库存警戒值,
请问楼主的文件还在么 能否帮忙给发一份 实在多谢了
❺ 仓库管理系统 数据库课程设计
发了一个,看看行不行
❻ 课程设计仓库管理系统的数据库制作
数据库原理及应用课程设计
一、课程设计的目的
《数据库原理及应用》课程设计是计算机科学与技术专业集中实践性环节之一,是学习完《数据库原理及应用》课程后进行的一次全面的综合练习。本课程设计主要在于加深学生对数据库基础理论和基本知识的理解,掌握数据库应用系统设计开发的基本方法,达到进一步使学生综合运用所学知识和增强实际动手能力的目的。
二、课程设计的任务与要求
要求学生根据自身对题目的理解情况,从给定的设计题目中选择一个,以MS SQL Server作为后台数据库平台,以PowerBuilder作为前台开发工具,完成一个小型数据库应用系统的系统的分析、设计和开发。
三、课程设计说明书
仓储管理系统
对于一个以生产或经营产品为主要业务的单位来说,仓库管理系统至关重要。高效方便的仓库管理系统,可以为生产经营提供坚强的后盾和有力的支持。效率低下甚至是混乱不堪的仓库管理系统,无疑会成为企业健康发展的拖累甚至是枷锁。使企业发展动力不足。本次数据库设计实现了仓库管理的高效化、电子化。通过本系统可以方便地实现仓库管理中的货物登记、出库入库等操作,使仓库管理井井有条。
1系统需求分析
1.1系统功能需求分析
仓库管理系统主要实现对库存商品的管理,对商品出库、入库的管理,和对仓库管理系统维护的功能。具体要实现的功能包括:
1)库存商品管理
查看数据库中商品的名称、编号、单价等信息。
2)商品出库、入库管理
入库、出库单纪录本次入库、出库的货物名称、数量,入库、出库的时间、商品单价以及总价,入库、出库的经手人等。
3)商品的查询
输入商品的编号或者商品的名称查询信息
4)用户管理
用户可以修改登录密码
1. 2数据需求分析
1.员工(ID ,姓名,密码,权限)
2.商品(商品名,商品编号,所属类,单价)
3.出货表(商品名,商品编号,数量,总价,经手人)
4.入货表(商品名,商品编号,数量,总价,经手人)
5.查询(商品名,商品编号,数量,单价)
根据上面的关系我们需要的数据基本上就上面所列出的数据。
2 系统总体设计
1)库存商品管理
查看数据库中商品的名称、编号、单价等信息。
2)商品出库、入库管理
入库、出库单纪录本次入库、出库的货物名称、数量,入库、出库的时间、商品单价以及总价,入库、出库的经手人等。
3)商品的查询
输入商品的编号或者商品的名称查询信息
4)用户管理
用户可以修改登录密码
2.1系统总体结构设计
2.2.1 E-R图
2.2.2 关系模式
1.员工(ID ,姓名,密码,权限)
2.商品(商品名,商品编号,所属类,单价)
3.出货表(商品名,商品编号,数量,总价,经手人)
4.入货表(商品名,商品编号,数量,总价,经手人)
5.查询(商品名,商品编号,数量,单价)
2.2.3 数据表
“员工信息表”“商品信息表”“出货单”“进货单”的主键分别是:ID、商品编号、商品编号、商品编号。
员工信息表
商品信息表
出货单
进货单
3.系统实施
工作界面PB9.0,以下是我制作过程和运行中的一些截图:
首先建立PB与SQL的数据链接:如果链接不成功,返回对以话框“数据库连接错误,经检查后再试!”
然后点Preview选项会弹出如下窗口:
一、 工作界面截图:
分别建有:workspace、application、windows、dw_、da_等。
工作时检测连接数据库是否正常的程序代码:
// Profile q
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=仓库;UID=;PWD='"
connect;
open(w_enter)
二、 运行结果的截图:
这个是我运行后的第一个用户界面,在界面中输入管理员ID和密码。我的管理员ID 和密码分别为 1,123.点击确定进入menu下一界面。
若ID和密码分别输入1,1234,则跳出以下界面:
确定按钮所对应的代码如下:
//定义两个变量
string password,userid
password=sle_2.text
//检索用户名和密码记录
SELECT "员工信息表". "ID",
"员工信息表"."密码"
INTO :userid,
:password
FROM "员工信息表"
WHERE "员工信息表"."ID" =:sle_1.text and "员工信息表"."密码" =:sle_2.text;
//判断用户输入的用户名是否正确
if sqlca.sqlcode<>0 then
messagebox("错误!","ID或密码错误,请重新输入!",exclamation!,ok!,2)
else
messagebox("通过验证!","ID和密码正确,欢迎您使用本系统!",Information!,ok!,2)
open(w_main)
close(w_enter)
end if
取消按钮所对应的代码如下:
close(parent)
//关闭登录窗口
三、 menu界面的截图:
在本界面中我们通过点击菜单栏上的不同管理按钮来实现管理和操作的功能。
进货—进货单
出货—出货单
库存—蔬菜类
—水产类
—肉类
系统维护—修改密码
查询
四、 进货的截图如下:
在本界面中,操作员可以输入进货信息
五、 进货的截图如下:
在本界面中,操作员可以输入出货信息
六、本界面是实现用户更改自己的密码的界面
用户在登陆后根据上面的提示可以更改自己的密码。
程序代码如下:
string oldid
string oldp
string newp1
string newp2
oldid=trim(sle_1.text)
oldp=trim(sle_2.text)
newp1=trim(sle_3.text)
newp2=trim(sle_4.text)
if len(oldp)=0 or isnull(oldp) then
oldp=space(10)
end if
if len(newp1)=0 or isnull(newp1) then
newp1=space(10)
end if
if len(newp2)=0 or isnull(newp2) then
newp2=space(10)
end if
select "operator"."password"
into :oldp
from "operator"
where "operator"."password"=:oldp;
if sqlca.sqlcode<>0 then
messagebox("提示","原密码不正确!")
sle_2.text=""
sle_2.setfocus()
return
end if
if newp1<>newp2 then
messagebox("提示","两次新密码输入不同!")
sle_4.text=""
sle_4.setfocus()
return
end if
Update "operator"
set "password"=:newp1
where "operator"."operator_id"=:oldid;
if sqlca.sqlcode<>0 then
rollback;
messagebox("提示","密码更正错误! 请重设!")
return
end if
gs_password=newp1
commit;
messagebox("提示","密码修改成功!")
七、本操作可以看仓库里的商品并可对其进行插入和删除
八、从仓库查询所需要的商品
4 系统评价
系统的功能基本上已经实现,但是还是不够完善。但是在使用的时候还是能给用户带来一定的方便的。仓库的进货和出货在本系统中能直观的以表格形式反映出来,便于操作员的使用和决策者的管理。
4.1 系统特色
本系统要求用户进行验证之后才能进入相应的界面。有利于保护数据库的安全,不被非法登陆使用。对于仓库内货物的进出管理要求严格,即进出货时必须填写相应的进出货单据。便于企业管理查看账目,保障了企业的稳定运行。通过本系统可以方便地实现仓库管理中的货物登记、出库入库等操作,使仓库管理井井有条。在查看数据库时可以方便的删除数据库中冗余的信息和添加新的信息。
4.2 系统不足及改进
这个系统基本上实现了一些简单的对系统所涉及表的更新、增加和删除的功能。也实现对用户登陆的安全上有了一定的限制,只有在正确输入ID和密码的时候才能进入系统。远没有达到大型公司的仓储物资管理的要求,所创建的数据库框架比较简单,各表之间的联系也过于简单,没有添加外键相互约束,用POWER BUILDER做出来的系统过于简单、单调,需要进一步深入的调整优化,将各表之间的关系紧密联系起来,相互制约,保证数据库中数据的添加、删除、更新,安全有序。操作窗口还需要进一步的进行美化,使用户在使用中更赏心悦目。
5 课程设计心得
这次课程设计的主要目的是掌握数据库应用系统分析设计的基本方法,基本掌握PowerBuilder,进一步提高分析解决问题的综合能力。通过这次课程设计,我基本掌握了以上要求。但只有两周的课程设计时间,时间比较仓促,所以开发的系统不是很完善,有一些功能未实现,但是仓库管理的基本功能均已实现。以前对数据库的很多知识认识都不深刻,做过这次课程设计之后,我对数据库的知识有了一个比较系统的了解;比如:对表内一些字段的约束,关系等的运用已经比较熟练。这个课程设计使我巩固了数据库的知识。
对于PowerBuilder也有了一定的了解,由于用的不多,所以运用的不是很熟练。刚开始的时候,对于PowerBuilder的语法,用法等一系列知识都不熟悉。当我基本完成此系统开发的时候,我发现其实也没有那么难,在未做之前我还害怕做不出来。经过对这个系统的开发,在开发过程中遇到但也解决了很多问题,所以说我们不能惧怕有困难而不去接触认识它,我们要知难而上,只有这样我们才能成长,才能有所发展。
这认为最难的一部分是用户查看数据库时通过插入删除按钮对数据库的更改,因为我们在文本框中输入的数字是被默认为字符型的,我在其中使用了integer(string)这个函数把字符型的进行了转换,但是在使用的过程中并不能像我所想像的那样有用。因为时间有限,所以这个问题还没有完全的解决。
通过这次数据库课程设计加深我对数据库基础理论和基本知识的理解,掌握数据库应用系统设计开发的基本方法,达到进一步使我综合运用所学知识和增强实际动手能力的目的。
我会继续学习数据库的知识,学习PowerBuilder的知识,只有通过不断的学习充实自己,才能让自己有所得。只有了知识的积淀,才能为自己的发展铺平道路!
可以参考一下啊,最终还是要自己做的吧。。仅供参考。
❼ 仓库管理系统课程设计(数据库)要钱的自重
学生成绩管理系统
一、 设计内容:
(1) 设计系统的功能框图、流程图;
(2) 编写学生成绩管理系统的源程序代码;
1) 按学生姓名查询成绩
2) 分别统计每门课程的“优秀(90分~100分)”、“良好(80分~89分)”、“中等(70分~79分)”、“及格(60分~69分)”和“不及格(0分~59分)”人数及所占总人数的百分比。
(3) 上机调试;
(4) 书写实习报告。
二、 课程设计系统组成及模块功能:学生成绩管理是教学管理中的一项重要内容,主要包括成绩的录入、显示、查询和统计四大模块。各主要模块的功能如下:
(用菜单实现选择)
(1) 录入模块
通过键盘录入几门课程全班同学的成绩。
(2) 显示模块
显示所有录入的成绩。
(3) 计算模块
求出每门课的平均分,求出每个学生的平均成绩。
(4) 查询模块
查询某个同学的所有成绩。
(5) 统计模块
统计各个等级的人数及百分比。
(6) (同学们自己思考,看可不可以想增加一些其他的功能)
❽ 仓储管理课程设计不会写!!
谢谢各位了~~ ...这点分不值得给你做,至少五百分。给钱也行 ...我有仓库管理系统的数据库设计 ...