建议使用VS打开运行#pragmaonce#includestdio.htypedefstructinformation//商品信息{charnumber[20];//编号charsname[20];//名称floatprice;//价格intcount;//数量chardath[20];//生产日期structinformation*next;}inf;voidmenu(inf*head);//显示主菜单inf*create();//创建链表voidInput(inf*head);//输入商品信息voidtianjia(inf*head);//添加商品信息voidoutput(inf*head);//输出商品信息voidchaxun(inf*head);//查询商品信息voidchaxun_number(inf*head);//按编号查询voidchaxun_sname(inf*head);//按名称查询voidxiugai(inf*head);//修改商品信息voidshanchu(inf*head);//删除商品信息voidwrite_file(inf*head);//保存商品信息到文件voidpaixu(inf*head);inf*Read__file();//读取文件内商品信息voidfreeh(inf*head);//退出程序#define_CRT_SECURE_NO_WARNINGS#includestdio.h#includestdlib.h#includestring.h#includemalloc.h#includewindows.h#includemmsystem.h#pragmacomment(lib,WINMM.lib)#include标头.hvoidmenu(inf*head)//显示菜单{PlaySound(TEXT(sounds\\背景.wav),NULL,SND_FILENAME|SND_ASYNC|SND_LOOP);system(color3B);printf(\t\t*****************************************************\n);printf(\t\t\t\t欢迎进入商品库存管理系统\n);printf(\t\t*****************************************************\n);printf(\n);printf(\t\t|====================================================|\n);printf(\t\t|______________________基本信息______________________|\n);printf(\t\t|1.商品信息录入|2.添加商品信息|\n);printf(\t\t|3.查找商品信息|4.修改商品信息|\n);printf(\t\t|5.删除商品信息|6.保存文件信息|\n);printf(\t\t|7.读取文件信息|8.显示商品信息|\n);printf(\t\t|9.按价格从高到低进行排序|\n);printf(\t\t|_________________0.释放链表。退出___________________|);printf(\n\t\t\t请输入你的选项(0---8):\n);printf(\n);printf(\t请输入你的选择:\n);}inf*create()//创建链表{inf*p;p=(inf*)malloc(sizeof(structinformation));if(p==NULL){printf(链表创建失败.\n);exit(0);}p-next=NULL;return(p);}voidInput(inf*head)//录入货物信息{inf*p;inti,n;printf(请输入:你想录入多少个商品信息:\n);scanf(%d,&n);for(i=1;i=n;i++){p=(inf*)malloc(sizeof(structinformation));if(p==NULL){printf(结点创建失败.\n);exit(0);}printf(请输入商品:编号,名称,价格,数量:生产日期\n);printf(编号:);scanf(%s,p-number);printf(名称:);scanf(%s,p-sname);printf(价格:);scanf(%f,&p-price);printf(数量:);scanf(%d,&p-count);printf(生产日期:);scanf(%s,p-dath);p-next=NULL;while(head-next!=NULL)head=head-next;head-next=p;}}voidtianjia(inf*head)//添加货物信息{inf*p;inti,n;printf(请输入:你想添加多少个商品信息:\n);scanf(%d,&n);for(i=1;i=n;i++){p=(inf*)malloc(sizeof(structinformation));if(p==NULL){printf(链表结点创建失败。\n);exit(0);}printf(请输入商品:编号,名称,价格,数量:\n);printf(编号:);scanf(%s,p-number);printf(名称:);scanf(%s,p-sname);printf(价格:);scanf(%f,&p-price);printf(数量:);scanf(%d,&p-count);printf(生产日期:);scanf(%s,p-dath);p-next=NULL;while(head-next!=NULL)head=head-next;head-next=p;}}voidoutput(inf*head)//输出货物信息{intn=0;inf*p;p=head-next;if(p==NULL){printf(链表为空,请先输入信息!\n);return;}while(p!=NULL){n++;printf(商品信息:编号:%s,名称:%s,价格:%.2f数量:%d生产日期:%s\n,p-number,p-sname,p-price,p-count,p-dath);p=p-next;}printf(商品总数为:%d\n,n);}voidchaxun(inf*head)//查询货物信息函数{inta;printf(\t\t查询信息\n);while(1){printf(\t1.按编号查询\n);printf(\t2.按名称查询\n);printf(请输入你的选择:\n);scanf(%d,&a);if(a==1){chaxun_number(head);//调用按编号查询的函数break;}if(a==2){chaxun_sname(head);//调用按名称查询的函数break;}if(a!=1&&a!=2){printf(输入错误!\n);break;}getchar();}}voidchaxun_number(inf*head)//按编号查询{charnum[20];inf*p;inti=-1;p=head;printf(请输入你要查询的商品的编号:);scanf(%s,num);while(p-next!=NULL){p=p-next;if(strcmp(p-number,num)==0){i=1;printf(已找到该商品信息\n);printf(货物信息:编号:%s,名称:%s,价格:%.2f.数量:%d,生产日期:%s\n,p-number,p-sname,p-price,p-count,p-dath);}}if(i0)printf(没有此商品信息!\n);}voidchaxun_sname(inf*head)//按名称查询{chara[20];inti=-1;inf*p;p=head;printf(请输入要查找商品的名称:\n);scanf(%s,a);while(p-next!=NULL){p=p-next;if(strcmp(p-sname,a)==0){i=1;printf(已找到该商品信息\n);printf(商品信息:编号:%s,名称:%s,价格:%.2f.数量:%d,生产日期\n,p-number,p-sname,p-price,p-count,p-dath);}}if(i0)printf(没有此商品!\n);}voidxiugai(inf*head)//修改货物信息{printf(\t********************\n);printf(\t请输入修改的方式:\n);printf(\t1.单个信息全部修改。\n);printf(\t2.单个信息逐个修改。\n);printf(\t********************\n);inta;printf(请输入选项:\n);scanf(%d,&a);if(a==1){charno[20];inti=-1;inf*p;p=head;printf(请输入要修改商品的编号:\n);scanf(%s,no);while(p-next!=NULL){p=p-next;if(strcmp(p-number,no)==0){i=1;printf(已找到该商品\n请输入新的的编号,名称,价格,数量:生产日期:\n);printf(编号:);scanf(%s,p-number);printf(名称:);scanf(%s,p-sname);printf(价格:);scanf(%f,&p-price);printf(数量:);scanf(%d,&p-count);printf(生产日期:);scanf(%s,p-dath);}}if(i0)printf(没有此商品信息!\n);}if(a==2){inf*p=NULL;intb;charnumber2[20];charname2[100];floatprice2;intcount2;p=head-next;if(p==NULL){printf(没有商品信息,请先保存商品信息!\n);}printf(\t\t请输入要修改的内容\n);printf(\t\t1.修改编号2.修改名称\n);printf(\t\t3.修改价格4.修改数量\n);printf(\t\t5.修改生产日期\n);printf(请选择\n);scanf(%d,&b);switch(b){case1:printf(请输入原商品编号:\n);scanf(%s,&number2);while(p!=NULL){if(strcmp(p-number,number2)==0){printf(已找到该商品\n请输入新的编号:\n);scanf(%s,&p-number);}p=p-next;}printf(该商品信息已修改成功。\n);break;case2:printf(请输入原名称:\n);scanf(%s,&name2);while(p!=NULL){if(strcmp(p-sname,name2)==0){printf(请输入新的名称:\n);scanf(%s,&p-sname);break;}p=p-next;}printf(该商品信息已修改成功。\n);break;case3:printf(请输入该商品编号:);scanf(%s,&number2);printf(请输入原价格:\n);scanf(%f,&price2);while(p!=NULL){if(strcmp(p-number,number2)==0&&price2==p-price){printf(请输入新的价格:\n);scanf(%f,&p-price);break;}p=