当前位置:首页 » 编程语言 » c语言设计仓库管理
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言设计仓库管理

发布时间: 2022-02-09 22:31:21

㈠ 求一个只用c语言编写的仓库管理系统

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<malloc.h>
#definemax32
intifempty=0;//标志,判断链表是无否为空

typedefstructdnode/*定义双向链表结构体*/
{
intnumber;/*货物编号*/
charname[max];/*货物名称*/
intcounter;/*货物数量*/
structdnode*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);
voidsearch(dlnode*L);
voidprint(dlnode*L);
voidsearchnum(dlnode*L);
voidsearchname(dlnode*L);
voiddisplay(dlnode*L);

voidmain()
{
intx;
dlnode*L;
if(!(L=(dlnode*)malloc(sizeof(dlnode))))//分配空间
{
printf(" ");
exit(1);
}
create(L);///调用函数,创建头节点
while(1)
{////////////////////////主菜单///////////////////////////
printf("============================ ");
printf("1.货物出库和入库 ");
printf("2.查找货物表 ");
printf("3.显示仓库货物表 ");
printf("4.输出到文件 ");
printf("0.退出 ");
printf("============================= ");
printf("选择0--3:");
scanf("%d",&x);
switch(x)
{
case2:search(L);break;//调用查找函数
case1:current(L);break;//调用入库出库函数
case3:display(L);break;//调用显示输出函数
case4:print(L);break;//调用打印函数
case0:printf(" bye!seeyou! ");
getchar();getchar();exit(0);//退出程序
default:printf(" Entererreor!pleaseinput0--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,"");
returnL;
}

voidsearch(dlnode*L)///查找的主要菜单
{
inty;
if(ifempty==0)
{
printf("没有输入货物! ");
getchar();getchar();
return;
}
else
{
while(1)
{
printf("===================== ");
printf("1.按编号查询 ");
printf("2.按货物名称查询 ");
printf("0.返回上一层 ");
printf("==================== ");
printf("选择0--2:");
scanf("%d",&y);
switch(y)
{
case1:searchnum(L);break;//调用按编号查找的函数
case2:searchname(L);break;//调用按名称查找的函数
case0:return;//返回
default:printf("entererror!Pleaseinput0--2! ");
getchar();getchar();printf(" ");
}
}
}
}
voidsearchnum(dlnode*L)///按编号查找的函数
{
intnum,flag=0;//flag为是否找到的标志
dlnode*head=L;
if(ifempty==0)
{
printf("没有货物被输入 ");
getchar();getchar();
return;
}
printf("输入你要查找的货物编号: ");
scanf("%d",&num);
while((L=L->next)!=head)
{
if(L->number==num)
{flag=1;//flag为1时表示找到
printf("找到指定编号货物 ");
printf(" 编号:%d ",L->number);
printf("名称:%s ",L->name);
printf("数量:%d ",L->counter);
}
}
if(flag==0)//flag为0时表示没有找到
printf("没有找到指定编号货物,请查看是否还有货物。 ");
getchar();getchar();
}

voidsearchname(dlnode*L)//按名称查找的函数
{
intflag=0;//flag为是否找到的标志
charna[32];
dlnode*head=L;
if(ifempty==0)
{
printf("没有货物被输入 ");
getchar();getchar();
return;
}
printf("输入你要查找的货物名称 ");
scanf("%s",&na);
while((L=L->next)!=head)
{
if(strcmp(L->name,na)==0)
{flag=1;//flag为1时表示找到
printf("找到指定名称货物 ");
printf(" 编号:%d ",L->number);
printf("名称:%s ",L->name);
printf("数量:%d ",L->counter);
}
}

if(flag==0)//flag为0时表示没有找到
printf("没有找到指定编号货物,请查看是否还有货物。 ");
getchar();getchar();
}

dlnode*current(dlnode*L)//货物出库入库函数
{
inty;
while(1)
{
printf("======================== ");
printf("1.货物入库 ");
printf("2.货物出库 ");
printf("0.返回上一层 ");
printf("======================== ");
printf("选择0--2:");
scanf("%d",&y);
switch(y)
{
case1:input(L);break;//调用入库函数
case2:output(L);break;//调用出库函数
case0:return(L);//返回上一层
default:printf("entererror!Pleaseinput0--2!");
getchar();getchar();
printf(" ");
}
}
}

dlnode*input(dlnode*L)//定义入库函数
{
dlnode*in,*head;
head=in=(dlnode*)malloc(sizeof(dlnode));//分配空间
head=L;

printf(" 请输入货物数据: ");
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
}
returnhead;
}

dlnode*output(dlnode*L)//出库的函数
{
inty;
dlnode*head=L;
if(ifempty==0)//检测是否有货物输入
{
printf("没有货物输入系统 ");
getchar();getchar();
return(head);
}
while(1)
{
printf("============= ");
printf("1.按编号出库 ");
printf("2.按名称出库 ");
printf("0.返回上一层 ");
printf("============== ");
printf("选择0--2:");scanf("%d",&y);
switch(y)
{
case1:outnum(L);break;//调用按编号出库函数
case2:outname(L);break;//调用按名称出库函数
case0:return(L);
default:printf("entererror!Pleaseinput0--2!");
getchar();getchar();printf(" ");
}
}
}
dlnode*outnum(dlnode*L)//按编号出库函数
{
intnum;
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();
returnhead;
}
}
printf("没有此编号的货物,请查看是否还有货物。 ");
getchar();getchar();
return(head);
}

dlnode*outname(dlnode*L)//按名称出库函数
{
charna[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("没有此名称的货物,请查看是否还有货物。 ");
getchar();getchar();
return(head);
}

voiddisplay(dlnode*L)//显示货物清单
{
dlnode*head=L;
if(ifempty==0)
{
printf("没有货物可显示 ");
getchar();getchar();
return;
}
L=L->next;
do
{
printf(" 编号:%d ",L->number);
printf("名称:%s ",L->name);
printf("数量:%d ",L->counter);
}while((L=L->next)!=head);
getchar();getchar();
}
voidprint(dlnode*L)
{
dlnode*head=L;
L=L->next;
charfilename[max];
FILE*out;
if(ifempty==0)
{
printf("没有货物可输出 ");
getchar();getchar();
return;
}
printf("请输入文件名称:");
scanf("%s",filename);
if((out=fopen(filename,"w"))==NULL)
{
printf("打开文件失败! ");
getchar();getchar();
return;
}
do{
fprintf(out,"编号:%d 名称:%s 数量:%d ",L->number,L->name,L->counter);
}while((L=L->next)!=head);
printf("输出成功 ");getchar();getchar();
fclose(out);
}

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

已经私信你了 可以解决

㈢ 求高手用c语言编写个简单的仓库管理系统

去论坛看看吧 有源码 下了就能用。

㈣ 求C语言编写仓库管理系统

这种程序写完几百行,全靠别人你能学会什么啊,把每个功能做成函数,一个函数一个函数调,就是结构体,链表什么的。很常规,耐心些就好了

㈤ 怎么用C语言设计一个小型仓库管理系统

你是要接别人的活儿,还是在做课程设计,如果不是必须用c语言的话,还是建议你用VC加数据库,这样更简单 。如果必须只用c语言来做,那你就得定义一系列的结构体,然后把数据存储在文件里。
如何在使用文件函数读写。
你的图有点模糊,只能大体说一下思路。

㈥ 跪求高手用C语言写一个简单的仓库管理系统

去开发网站看下。有些网友会分享的。

㈦ C语言设计仓库管理系统

c语言仓库管理帮实现

㈧ 求一个c语言编写的仓库管理系统,只用c,

c语言编写的仓库管理系统
以前写过,现在还保留住 不知合适你用不

㈨ 编写C语言仓库管理系统

有答案的也发下我邮箱[email protected] 谢谢啦

㈩ 如何用C语言编一个小型的仓库管理系统,作为课程设计的 谢了哈

可以完成源代码的编制