仓库管理系统(c语言编写)
#include
#include
#include
typedef struct node
{
long sno; /*商品编号*/
char sname[10]; /*商品名称*/
long squantity; /*商品数量*/
double sprice; /*商品价格*/
struct node * next;
}Goods;
Goods *init();
//辅助函数
void print(Goods *p);
Goods * checkbyno(Goods *G);
Goods * checkbyname(Goods *G);
void change(Goods *p);
void Del(Goods *G,Goods *q);
//功能函数
void add(Goods *G);
void minor(Goods *G);
void update(Goods *G);
void Delete(Goods *G);
void check(Goods *G);
void sort(Goods *G);
void show(Goods *G)
{
Goods *p;
p=G->next;
printf(" 商品编号\t商品名称\t商品数量\t商品价格\n");
while(p!=NULL)
{
printf(" %4d\t %s\t %4d\t %4.2f\n",p->sno,p->sname,p->squantity,p->sprice);
p=p->next;
}
}
void main()
{
int n;
Goods *G;
G=init();
while(true)
{
printf("\n");
printf("********欢迎使用仓库管理系统*******\n");
printf("\n");
printf(" 1.商品入库\n");
printf(" 2.商品出库\n");
printf(" 3.修改指定商品编号或者商品名称的价格\n");
printf(" 4.查询并删除指定商品编号、商品名称的商品信息\n");
printf(" 5.查询指定或所有商品信息\n");
printf(" 6.按价格或数量对商品进行升序排序\n");
printf(" 0.退出管理系统\n");
printf("\n");
printf(" 请选择指令(0-6):");
scanf("%d",&n);
switch(n)
{
case 1:
add(G);
system("cls");
break;
case 2:
system("cls");
minor(G);
break;
case 3:
system("cls");
update(G);
break;
case 4:
system("cls");
Delete(G);
break;
case 5:
system("cls");
check(G);
break;
case 6:
system("cls");
sort(G);
break;
case 0:
system("cls");
exit(0);
default:
system("cls");
break;
}
}
}
//初始化
Goods *init()
{
Goods *g,*p;
p=(Goods *)malloc(sizeof(Goods));
g=p;
p->next=NULL;
return g;
}
//不同方式查询(编号或名称)
Goods * checkbyno(Goods *G)
{
long no;
printf("请输入商品编号: ");
scanf("%ld",&no);
Goods *p=G->next;
while(p!=NULL)
{
if(p->sno==no)
{
return p;
break;
}
p=p->next;
}
printf("没找到!\n");
return p;
}
Goods * checkbyname(Goods *G)
{
char m[10];
printf("请输入商品名称: ");
scanf("%s",m);
Goods *p=G->next;