语言仓库管理系统006_第1页
语言仓库管理系统006_第2页
语言仓库管理系统006_第3页
语言仓库管理系统006_第4页
语言仓库管理系统006_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#include #include #include #define LEN sizeof(struct scorenode)#define DEBUG #include struct scorenodeint number;/*编号*/char name10;/*物品名*/int wpgs;/*物品个数*/float wpjj;/*物品进价*/float wpxsj;/*物品销售价 */struct scorenode *next;typedef struct scorenode score;int n,k;/*n,k为全局变量,本程序中的函数均可以使用它*/*=*/*=*/score *a

2、dd2311(score *head,score *stu)/*函数add2311,功能:追加物品资料,并且将所有物品资料按编号排序*/score *p0,*p1,*p2,*p3,*max;int i,j;float fen;char t10;p3=stu=(score *)malloc(LEN);/*开辟一个新单元*/printf(输入要增加的物品的资料!n);repeat4: printf(请输入物品编号(编号应大于0):);scanf(%d,&stu-number); /*输入编号,物品编号应大于0*/*/if(stu-number=0)goto end2;/*当输入的物品编号为0时,转

3、到末尾,结束追加*/else p3=head;if(n0)for(i=0;inumber!=p3-number)p3=p3-next;else printf(物品编号重复,请重输!n);goto repeat4;/*当输入的物品编号已经存在,程序报错,返回前面重新输入*/ /*/ printf(输入物品名:);scanf(%s,stu-name); /*输入物品名*/printf(请输入物品个数:);scanf(%f,&stu-wpgs); /*输入个数*/printf(请输入物品进价:);scanf(%f,&stu-wpjj);/*输入物品进价*/printf(请输入物品销售价):);sca

4、nf(%f,&stu-wpxsj);/*输入物品销售价*/p1=head;p0=stu;if(head=NULL)head=p0;p0-next=NULL;/*当原来链表为空时,从首结点开始存放资料*/else/*原来链表不为空*/if(p1-next=NULL)/*找到原来链表的末尾*/p1-next=p0;p0-next=NULL;/*将它与新开单元相连接*/elsewhile(p1-next!=NULL)/*还没找到末尾,继续找*/p1=p1-next;p1-next=p0;p0-next=NULL;n=n+1;p1=head;p0=stu;for(i=1;in;i+)for(j=i+1

5、;jnext;if(max-numberp1-number)k=max-number;max-number=p1-number;p1-number=k;/*交换前后结点中的编号值,使得编号大者移到后面的结点中*/strcpy(t,max-name);strcpy(max-name,p1-name);strcpy(p1-name,t);/*交换前后结点中的物品名,使之与编号相匹配*/fen=max-wpgs;max-wpgs=p1-wpgs;p1-wpgs=fen;/*交换前后结点中的物品个数,使之与编号相匹配*/fen=max-wpjj;max-wpjj=p1-wpjj;p1-wpjj=fen

6、;/*交换前后结点中的物品进价,使之与编号相匹配*/fen=max-wpxsj;max-wpxsj=p1-wpxsj;p1-wpxsj=fen;/*交换前后结点中的物品销售价,使之与编号相匹配*/max=head;p1=head;/*重新使max,p指向链表头*/ end2:printf(现在的物品个数为:%d个!n,n);return(head);/*=*/*=*/score *search2311(score *head)/*函数search2311,功能:查询物品资料*/int number;score *p1,*p2;printf(输入要查询的物品的编号,);scanf(%d,&num

7、ber);while(number!=0)if(head=NULL)printf(n没有任何物品资料!n);return(head);printf(-n);printf(|编号t|物品名tt|个数t|进价t|销售价t|n);printf(-n);/*打印表格域*/p1=head;while(number!=p1-number&p1-next!=NULL)p1=p1-next;if(number=p1-number) printf(|%dt|%st|%ft|%.1ft|%.1ft|n,p1-number,p1-name,p1-wpgs,p1-wpjj,p1-wpxsj);printf(-n);/

8、*打印表格域*/else printf(%d不存在此物品!n,number);printf(输入要查询的物品的编号,);scanf(%d,&number);printf(已经退出了!n);return(head);/*=*/*=*/void print2311(score *head)/*函数print2311,功能:显示物品资料*/score *p;if(head=NULL) printf(n没有任何物品资料!n);elseprintf(%dn,n);printf(-n);printf(|编号t|物品名t|个数t|进价t|销售价t|n);printf(-n);/*打印表格域*/p=head;

9、doprintf(|%dt|%st|%.1ft|%.1ft|%.1ft|n,p-number,p-name,p-wpgs,p-wpjj,p-wpxsj);printf(-n);/*打印表格域*/p=p-next;while (p!=NULL);/*打印完成了*/*=*/*=*/score *taxis2311(score *head) /*定义排序函数。此函数带回一个指向链表头的指针*/ score *p,*max;int i,j,x;float fen;char t10;if(head=NULL)printf(n没有任何物品资料,请先建立链表!n);return(head);/*链表为空*/

10、max=p=head;for(i=0;i80;i+)printf(*);printf(1按物品编号排序t0返回n);for(i=0;i80;i+)printf(*);printf(请选择操作:);scanf(%d,&x);/*选择操作*/getchar();switch(x) /*用switch语句实现功能选择*/case 1 : for(i=1;in;i+)for(j=i+1;jnext;if(max-numberp-number)k=max-number;max-number=p-number;p-number=k;/*交换前后结点中的编号值,使得编号大者移到后面的结点中*/strcpy(

11、t,max-name);strcpy(max-name,p-name);strcpy(p-name,t);/*交换前后结点中的物品名,使之与编号相匹配*/fen=max-wpgs;max-wpgs=p-wpgs;p-wpgs=fen;/*交换前后结点中的物品个数,使之与编号相匹配*/fen=max-wpjj;max-wpjj=p-wpjj;p-wpjj=fen;/*交换前后结点中的物品进价,使之与编号相匹配*/fen=max-wpxsj;max-wpxsj=p-wpxsj;p-wpxsj=fen;/*交换前后结点中的物品销售价,使之与编号相匹配*/max=head;p=head;/*重新使ma

12、x,p指向链表头*/print2311(head);break;/*打印值排序后的链表内容*/return (0);/*=*/*=*/int menu2311(int k)/*函数menu2311,功能:菜单选择界面*/int i;printf(tttThe supplies management systemn);for(i=0;i80;i+)printf(*);printf(1)Search the productn(2)Increase the productn(3)Show the productn(4)Carry on lining up the preface to the dat

13、an(0)Exitn);/*菜单选择界面*/ for(i=0;i80;i+)printf(*);printf(Welcome into the supplies management system,Please choose the operation that you want(Choice(0)Exit):);scanf(%d,&k);/*选择操作*/getchar();return (k);/*=*/*=*/void main() /*主函数main,功能:通过调用creat,search,del,add,print,ststistics,save,taxis等函数,实现物资管理系统功能*/score *head=0,*stu=0;while(1)k=menu2311(k);switch(k)/*用switch语句实现功能选择*/ case 1: head=search2311(head);break;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论