仓库管理系统-C语言实现

本文详细介绍了使用C语言设计并实现一个仓库管理系统的全过程,涵盖了数据结构设计、库存管理、入库出库操作以及相关算法的应用。
摘要由CSDN通过智能技术生成
#include "../include/commodity.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include <stdbool.h>
//常量定义
#define SIZE 20

enum judge
{
   
	ERROR = -1,
	OK,
};


//类型定义
struct goods
{
   
	char name [SIZE];//货物名
	int count;//货物数量
	//float price;//货物价格
};

typedef struct goods dataType;

//定义一个结构体
typedef struct list
{
   
	dataType data;
	struct list *pNext;
}LIST;

LIST lis;

/*
函数名:creation
函数功能:创建一个空结点
函数参数:无
函数返回值:创建成功返回结点的地址,失败返回NULL
*/

LIST * creation ( )
{
   
	//定义指针变量
	LIST *pList = NULL;
	//申请空间
	pList = ( LIST * ) malloc ( sizeof ( LIST ) );
	//判断,初始化
	if ( NULL == pList )
	{
   
		return NULL;
	}
	memset ( pList, 0, sizeof ( LIST ) );

	return pList;
}
/**
 * 增加商品
 * @param name 商品名
 * @param count 数量
 * @param p 节点
 * @return 成功则返回true
 */
bool add_goods(char name[],int count,LIST *p){
   
	if ( NULL == p )
	{
   
		return false;
	}
	//赋值
	strcpy(p->data.name,name);
	p->data.count = count;
	return true;
}
/*
函数名:insert
函数功能:添加商品信息
函数参数:
		LIST *pList 链表的首地址
函数返回值:添加成功返回0,失败返回-1
*/
int insert ( LIST * pList )
{
   
	//判断链表是否存在
	if ( NULL == pList )
	{
   
		return ERROR;
	}
	LIST *p =  creation ( );
	char name[20];
	int count=0;
	printf("请输入商品名:\n");
	scanf("%s",&name);
	printf("请输入商品数量:\n");
	scanf("%d",&count);
	if(add_goods(name,count,p)){
   
		//头插法插入节点
		p->pNext = pList->pNext;
		pList->pNext = p;
		printf ( "商品 %s 已经添加成功\r\n", p->data.name );
		return OK;
	}
}



/*
函数名:delDate
函数功能:删除商品信息
函数参数:LIST *pList 链表的首地址
函数返回值:删除成功返回0,失败返回-1
*/
int delete_from_list ( LIST * pList )
{
   
	//判断链表是否存在,是否为空
	if ( NULL == pList
	||   NULL == pList->pNext )
	{
   
		printf ( "数据库数据为空,请先添加商品信息\r\n" );
		return ERROR;
	}
	//定义一个数组
	char str[SIZE] = {
   0};
	printf( "请输入需要删除的商品名称\r\n" )
  • 32
    点赞
  • 158
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值