#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(\ M\\t
%s\\t
%4.2f\\n\ p=p->next;
}
}
M\\t
void main() {
int n;
Goods *G; G=init(); while(true) {
printf(\
printf(\欢迎使用仓库管理系统*******\\n\printf(\
printf(\商品入库\\n\printf(\商品出库\\n\
printf(\修改指定商品编号或者商品名称的价格\\n\
printf(\查询并删除指定商品编号、商品名称的商品信息\\n\printf(\查询指定或所有商品信息\\n\
printf(\按价格或数量对商品进行升序排序\\n\printf(\退出管理系统\\n\printf(\
printf(\请选择指令(0-6):\scanf(\switch(n) {
case 1: add(G);
system(\break;
case 2: system(\ minor(G); break; case 3:
system(%update(G);
break; case 4:
system(\Delete(G); break; system(\
case 5: check(G); break; case 6:
}
system(\
sort(G); break; case 0: system(\ }
exit(0); system(\break; default:
}
//初始化 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(\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(\请输入商品名称: \ }
//更改价格
void change(Goods *p) { double s; printf(\请输入新的价格: \ }
//删除结点
void Del(Goods *G,Goods *q) {
Goods *p=G->next; if(p==q) { }
G->next=p->next; scanf(\p->sprice=s;
printf(\修改完毕!\\n\scanf(\Goods *p=G->next; while(p!=NULL) {
if(strcmp(p->sname,m)==0) { }
return p; break;
p=p->next; }
printf(\没找到!\\n\return p;
else{
if(p->next==q) { }
p->next=q->next;
}
else{
p=p->next; } }
printf(\已删除!\\n\
void print(Goods *p)
{
printf(\商品编号\\t商品名称\\t商品数量\\t商品价格\\n\
printf(\ %s\\t\\t M \\t\\t %4.2f\\n\ printf(\ printf(\查询完毕!\\n\}
//数量排序
void sortbyquantity(Goods *G) {
long no,quanti; double pri; char name[10]; Goods *p,*q; p=G->next;
while(p!=NULL) {
q=p;
while(q!=NULL) {
if(p->squantity>q->squantity) {
no=p->sno;
strcpy(name,p->sname); quanti=p->squantity; pri=p->sprice;
p->sno=q->sno;
strcpy(p->sname,q->sname); p->sprice=q->sprice; q->sno=no;
strcpy(q->sname,name);
p->squantity=q->squantity;