库存管理

 #include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#define N 10
struct goods_info
{
 int num;
 char name[20];
 long count;
 float price;
};
int findgoods(struct goods_info *goods_arr,int findnum);
void addstock(struct goods_info *goods_arr);
void substock(struct goods_info *goods_arr);
void main()
{
 int selmenu;
 int goodsnum;
 int i;
 struct goods_info goods[N]={{1001,"毛巾",200,3.50},{1002,"床单",30,20.00},
        {1003,"被罩",50,25.00},{1004,"棉被",25,45.00},
        {1005,"大衣",40,50.00},{1006,"鞋",55,30.00},
        {1007,"帽子",30,15.00},{1008,"背包",33,20.00},
        {1009,"仪表",20,45.00},{1010,"棉衣",40,25.00}};
 do
 {
  system("cls");
  printf("/n/n");
  printf("/t/t===========商品库存管理系统===========/n/n");
  printf("/t/t/t1.商品入库/n");
  printf("/t/t/t2.商品出库/n");
  printf("/t/t/t3.商品查找/n");
  printf("/t/t/t4.退出/n/n");
  printf("请输入功能选项号码:");
  scanf("%d",&selmenu);
  system("cls");
  switch(selmenu)
  {
  case 1:addstock(goods);break;
  case 2:substock(goods);break;
  case 3:
   printf("请输入要查找的商品编号:");
   scanf("%d",&goodsnum);
   i=findgoods(goods,goodsnum);
   printf("/n");
   if(i<0)
    printf("输入商品编号错误,没找到该商品!");
   else
   {
    printf("商品编号/t名称/t数量/t单价/n");
    printf("%d/t/t%s/t%d/t%.2f/n",goods[i].num,goods[i].name,
            goods[i].count,goods[i].price);
   }
   getch();
   break;
  case 4:break;
  default:
   printf("输入错误!!/n");
   getch();
  }
 }while(selmenu!=4);
}
int findgoods(struct goods_info *goods_arr,int findnum)
{
 int i;
 for(i=0;i<N;i++,goods_arr++)
 {
  if(goods_arr->num==findnum)
   return i;
 }
 return -1;
}
void addstock(struct goods_info *goods_arr)
{
 int i,addnum,addcount;
 printf("请输入入库商品编号:");
 scanf("%d",&addnum);
 i=findgoods(goods_arr,addnum);
 if(i<0)
 {
  printf("输入商品编号错,入库失败!");
  getch();
 }
 else
 {
  printf("请输入入库数量:");
  scanf("%d",&addcount);
   goods_arr[i].count+=addcount;
  }
 }
void substock(struct goods_info *goods_arr)
{
 int i,subnum,subcount;
 printf("请输入入库商品编号:");
 scanf("%d",&subnum);
 i=findgoods(goods_arr,subnum);
 if(i<0)
 {
  printf("输入商品编号错,出库失败!");
  getch();
 }
 else
 {
  printf("请输入出库数量:");
  scanf("%d",&subcount);
  if(subcount>goods_arr[i].count)
  {
   printf("编号为%d的%s库存为%d不足出库,出库失败!",
         goods_arr[i].num,goods_arr[i].name,goods_arr[i].count);
   getch();
  }
  else
   goods_arr[i].count-=subcount;
 }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值