版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、专业收集整理精品文档! 精品文档,值得下载,可以编辑! ! !=一、商店商品管理系统1. 问题提出人工管理商店每天的进货、售货、统计销售额、计算毛利率、查 看商品剩余量等业务是非常繁琐的事,计算机管理可以大大提高管理 的效率和质量。2. 功能要求循环显示如下图3 (a)所示的主菜单。主菜单中选择1:创建商品档案。每一个商品信息包括编号、品 名、进价、售价、进货量、销售量、销售额、剩余数、毛利。主菜单中选择2:进入如图3 (b)所示的子菜单,并编辑商品 信息。例如,向商品档案添加新商品,删除原有商品,处理原有商品 的新进货量、新销售量、报废量。在子菜单选择4,返回主菜单;选择0,退出整个系统。主
2、菜单中选择3:统计销售情况。在此项中统计每种商品的销售 额、剩余数、毛利(毛利=销售额进价 *销售量)。主菜单中选择4:进入如图3 (c)所示的子菜单,并查询商品信 息。如根据品名、剩余数(小于 5或大于20)进行查询。在子菜单 选择3,返回主菜单;选择0,退出整个系统。主菜单中选择5:进入如图3 (d)所示的子菜单,并显示商品 信息。显示方式有3种,即按原来商品顺序显示、按销售额从高到低 的顺序显示、按毛利从高到低的顺序显示,由于商品较多,所以要求分屏显示。在子菜单选择4,返回主菜单;选择0,退出整个系统c 主菜单中选择6:从项功能自由发挥,根据本组爱好增加与本题 目相关的新功能。主菜单中选
3、择0:显示结束消息(如“感谢使用本软件!已正常 退出,按任意键结束。”),按任意键后,退出本系统。.请输入选项编号(0 6):.请输入选项编号(0 4):.1创建商品档案.2编辑商品信息.3统计销售情况.4 查询商品信息.5显示商品信息.6创新功能.0退出系统.1添加新商品.2删除原有商品.3修改原有商品信息.4返回.0退出系统图3 (a)某商场商品管理主菜单 (b)编辑商品信息子菜单.1按品名查询.1一按原来顺序显示.2-按剩余数查询.2一按销售额高低显不.3-一返回.3一按毛利高低显示.4-一退出系统.4-一返回 . 0一退出系统.请输入选项编号(0 3):.请输入选项编号(0 4):(c
4、)查询商品信息子菜单(d)显示商品信息子菜单程序:#include<stdio.h>#include<stdlib.h>#include<string.h>void xiaoshou(struct sp *head);void jiaohuan(struct sp *p,struct sp *q);void show1()printf(" n请输入选项编号(0-5):n n. 1 创建商品档案.n. 2 编辑商品信息.n");printf(". 3统计销售情况.n. 4查询商品信息.n. 5显示商品信息 .n. 0退出系统.n
5、n"); void show2() printf(" n.请输入选项编号(0-4):n n.1 添加新商品.n. 2删除原有商品.n");printf(". 3修改原有商品信息 .n. 4返回.n. 0退出系统.n n");) void show3()(printf(" n. 请输入选项编号(0-3): .n n. 1 按品名查询.n");printf(". 2按剩余数查询.n. 3返回.n. 0退出系统.n n");)void show4()(printf(" n. 请输入选项编号(0-4)
6、: .n n.1按原来顺序显示.n");printf(". 2按销售额高低显示.n. 3按毛利高低显示.n. 4返回.n. 0退出系统.n n");)struct spint bh,jhl,xsl,sys;char pm10;float jj,sj,xse,ml;struct sp *next;);struct sp *create()/ 新建链表struct sp *head,*p,*ptr;int bh,jhl,xsl,sys,a;float jj,sj,xse,ml;char pm20;head=NULL;printf("请输入:n");
7、printf("商品编号:");scanf("%d",&bh);printf("商品品名(不超过十个字符,每个汉字占两个字符):");scanf("%s",pm);printf("商品进价:");scanf("%f",&jj);printf("商品售价:");scanf("%f",&sj);printf("商品进货量:");scanf("%d",&jhl);prin
8、tf("商品销售量:");scanf("%d",&xsl);sys=jhl-xsl;xse=xsl*sj;ml=xse-xsl*jj;p=(struct sp *)malloc(sizeof(struct sp);p->bh=bh;strcpy(p->pm,pm);p->jj=jj;p->sj=sj;p->jhl=jhl;p->xsl=xsl;p->sys=sys;p->xse=xse;p->ml=ml;head=p;head->next=NULL;ptr=head;system(&qu
9、ot;CLS");printf("请选择:1.继续输入下一个商品信息2.回到主菜单n");scanf("%d",&a);system("CLS");while(a!=1&&a!=2)system("CLS");printf("输入有误,请重新输入!n");printf("请选择:1.继续输入下一个商品信息2.回到主菜单n");scanf("%d",&a);while(a=1)printf("请输入:n&q
10、uot;);printf("商品编号:");scanf("%d",&bh);printf("商品品名(不超过十个字符,每个汉字占两个字符):");scanf("%s",pm);printf("商品进价:");scanf("%f",&jj);printf("商品售价:");scanf("%f",&sj);printf("商品进货量:");scanf("%d",&jhl
11、);printf("商品销售量:");scanf("%d",&xsl);sys=jhl-xsl;xse=xsl*sj;ml=xse-xsl*jj;p=(struct sp *)malloc(sizeof(struct sp);p->bh=bh;strcpy(p->pm,pm);p->jj=jj;p->sj=sj;p->jhl=jhl;p->xsl=xsl;p->sys=sys;p->xse=xse;p->ml=ml;ptr->next=p;ptr=p;ptr->next=NULL;
12、printf("请选才I: 1.继续输入下一个商品信息2.回到主菜单n");scanf("%d",&a);system("CLS");while(a!=1&&a!=2)system("CLS");printf("输入有误,请重新输入!n");printf("请选才I: 1.继续输入下一个商品信息2.回到主菜单n");scanf("%d",&a);return head;struct sp *tianjia(struct sp
13、 *head)/编辑商品信息之添加新商品int b;int bh,jhl,xsl,sys;float jj,sj,xse,ml;char pm20;struct sp *ptr,*p;b=1;while(b=1)ptr=head;printf("请输入:n");printf("商品编号:");scanf("%d",&bh);printf("商品品名(不超过十个字符,每个汉字占两个字符):");scanf("%s",pm);printf("商品进价:");scanf(&
14、quot;%f",&jj);printf("商品售价:");scanf("%f",&sj);printf("商品进货量:");scanf("%d",&jhl);printf("商品销售量:");scanf("%d",&xsl);sys=jhl-xsl;xse=xsl*sj;ml=xse-xsl*jj;p=(struct sp *)malloc(sizeof(struct sp);p->bh=bh;strcpy(p->pm,
15、pm);p->jj=jj;p->sj=sj;p->jhl=jhl;p->xsl=xsl;p->sys=sys;p->xse=xse;p->ml=ml;while(ptr->next!=NULL)ptr=ptr->next;ptr->next=p;p->next=NULL;system("CLS");printf("请选才i: 1.继续添加新商品2.返回上一级n");scanf("%d",&b);system("CLS");while(b!=1
16、&&b!=2)system("CLS");printf("输入有误,请重新输入!n");printf("请选才I: 1.继续添加新商品2.回到主菜单n");scanf("%d",&b);return head;struct sp *shanchu(struct sp *head)/编辑商品信息之删除商品int b=1;char pm10;struct sp *ptr,*ptr1;while(b=1)printf("请输入需要删除的商品的品名(不超过十个字符,每个汉字占两个字符)&q
17、uot;);scanf("%s",pm);ptr=head;while(ptr!=NULL)if(strcmp(ptr->pm,pm)=0)break;ptr=ptr->next;if(ptr=NULL)printf("没有此商品! n");elseptr=ptr1=(struct sp *)malloc(sizeof(struct sp);if(head!=NULL&&strcmp(head->pm,pm)=0)head=head->next;elseptr=head;while(strcmp(ptr->p
18、m,pm)!=0)ptr1=ptr;ptr=ptr->next;ptr1->next=ptr->next;free(ptr);system("CLS");printf("请选才I: 1.继续删除商品2.返回上一级n");scanf("%d",&b);system("CLS");while(b!=1&&b!=2)system("CLS");printf("输入有误,请重新输入!n");printf("请选才i: 1.继续删除商
19、品2.回到主菜单n");scanf("%d",&b);return head;struct sp *xiugai(struct sp *head)编辑商品信息之修改原有商品int b=1,d,jhl,xsl,bfl;char pm10;struct sp *ptr;while(b=1)ptr=(struct sp *)malloc(sizeof(struct sp);ptr=head;printf("请输入你要修改的商品的品名(不超过十个字符,每个汉字占两个字符) ");scanf("%s",pm);while(pt
20、r!=NULL)if(strcmp(ptr->pm,pm)=0)break;ptr=ptr->next;if(ptr=NULL)printf("没有此商品!n");elseptr=head;while(strcmp(ptr->pm,pm)!=0)ptr=ptr->next;system("CLS");printf("请选择修改的信息:1进货2.销售3.报废n");scanf("%d",&d);system("CLS");switch(d)case 1:printf
21、("请输入此商品新进货的数量:");修改进货量scanf("%d",&jhl);ptr->jhl=ptr->jhl+jhl;ptr->sys=ptr->sys+jhl;system("CLS");break;case 2: 修改销售量printf("请输入此商品新销售的数量:");scanf("%d",&xsl);ptr->xsl=ptr->xsl+xsl;ptr->sys=ptr->sys-xsl;ptr->xse=ptr-
22、>xse+xsl*ptr->sj;ptr->ml=ptr->xse-ptr->jj*ptr->xsl;system("CLS");break;case 3: 修改报废量printf("请输入此商品新报废的数量:");scanf("%d",&bfl);ptr->sys=ptr->sys-bfl;system("CLS");break;system("CLS");printf("请选才i: 1.继续修改商品信息2.返回上一级n&quo
23、t;);scanf("%d",&b);system("CLS");while(b!=1&&b!=2)system("CLS");printf("输入有误,请重新输入!n");printf("请选才i: 1.继续修改商品信息2.回到主菜单n");scanf("%d",&b);system("cls");return head;struct sp *tongji(struct sp *head) 统计销售情况char ch,op
24、;struct sp *ptr;ptr=(struct sp*)malloc(sizeof(struct sp);ptr=head;printf("各商品的销售,f#况如下:n");printf(" 编号 品名销售额乘I余数毛利n");while(ptr!=NULL)printf("%8d%10s%8.1f%8d%8.1fn",ptr->bh,ptr->pm,ptr->xse,ptr->sys,ptr->ml);ptr=ptr->next;printf("按Enter键返回主菜单!n&qu
25、ot;);scanf("%c%c",&ch,&op);system("CLS");return head;void pinmingchaxun(struct sp *ptr)心询之按品名查询struct sp *p;char pm10;printf("请输入你要查询的商品的品名:");scanf("%s",pm);system("CLS");p=ptr;while(p!=NULL)if(strcmp(p->pm,pm)=0)break;p=p->next;if(p=N
26、ULL)printf("没有此品名的商品信息!n");elsep=ptr;printf("你要查询的商品的商品信息为:n");printf(" 编号 品名 进价 售价进货量 销售量销售额剩余数 毛利n");while(p!=NULL)while(strcmp(p->pm,pm)!=0)p=p->next;if(p=NULL)break;if(p!=NULL)printf("%8d%10s%8.1f%8.1f%8d%8d%8.1f%8d%8.1fn",p->bh,p->pm,p->jj,
27、p->sj,p->jhl,p->xsl,p->xse,p->sys,p->ml);p=p->next;void shengyushuchaxun(struct sp *ptr) /鹰询之按剩余数查询struct sp *p;int a;system("CLS");p=ptr;if(p=NULL)printf("现在还没有商品信息!n");elseprintf("请选才I: 1:查询剩余数不足5的商品信息2:查询剩余数超过20的商品信息n");scanf("%d",&
28、a);while(a!=1&&a!=2)system("CLS");printf("输入有误,请重新输入n");printf("请选择:1:查询剩余数不足5的商品信息2:查询剩余数超过20的商品信息n");scanf("%d",&a);)p=ptr;system("CLS");printf("你要查询的商品的商品信息为:n");printf(" 编号 品名 进价 售价进货量 销售量销售额剩余数 毛利n");if(a=1)while(
29、p!=NULL)if(p!=NULL)if(p->sys<=5)printf("%8d%10s%8.1f%8.1f%8d%8d%8.1f%8d%8.1fn",p->bh,p->pm,p->jj,p->sj,p->jhl,p- >xsl,p->xse,p->sys,p->ml);p=p->next;)elsewhile(p!=NULL)if(p!=NULL)if(p->sys>=20)printf("%8d%10s%8.1f%8.1f%8d%8d%8.1f%8d%8.1fn"
30、;,p->bh,p->pm,p->jj,p->sj,p->jhl,p- >xsl,p->xse,p->sys,p->ml);p=p->next;)void yuanshunxu(struct sp *head)char ch,op;struct sp *ptr;ptr=head;printf("现在的全部商品信息 n");printf(" 编号 品名 进价 售价进货量 销售量销售额剩余数毛利n");doprintf("%8d%10s%8.1f%8.1f%8d%8d%8.1f%8d%8.
31、1fn",ptr->bh,ptr->pm,ptr->jj,ptr->sj,ptr->jhl,ptr->xsl,ptr->xse,ptr->sys,ptr->ml);ptr=ptr->next;while(ptr!=NULL);printf("按 Enter 键返回上一级! n");scanf("%c%c",&ch,&op);system("CLS");void xiaoshoue(struct sp *head)/ 按销售额高低排序char ch,o
32、p;struct sp *p,*q,*ptr3;for(p=head;p!=NULL;p=p->next)for(q=p->next;q!=NULL;q=q->next)if(p->xse<q->xse) jiaohuan(p,q); printf("按销售额从高到低顺序的商品信息为:n");printf(" 编号 品名 进价 售价进货量 销售量销售额剩余数 毛利n");for(ptr3=head;ptr3!=NULL;ptr3=ptr3->next)printf("%8d%10s%8.1f%8.1f%
33、8d%8d%8.1f%8d%8.1fn",ptr3->bh,ptr3->pm,ptr3->jj,ptr3-> sj,ptr3->jhl,ptr3->xsl,ptr3->xse,ptr3->sys,ptr3->ml);printf("按 Enter 键返回上一级!n");scanf("%c%c",&ch,&op);system("CLS");void maoli(struct sp *head) 按毛利高低排序char ch,op;struct sp *p,
34、*q,*ptr3;for(p=head;p!=NULL;p=p->next)for(q=p->next;q!=NULL;q=q->next)if(p->ml<q->ml) jiaohuan(p,q); printf("按毛利从高到低顺序的商品信息为:n");printf(" 编号 品名 进价 售价进货量 销售量销售额剩余数 毛利n");for(ptr3=head;ptr3!=NULL;ptr3=ptr3->next)printf("%8d%10s%8.1f%8.1f%8d%8d%8.1f%8d%8.1f
35、n",ptr3->bh,ptr3->pm,ptr3->jj,ptr3->sj,ptr3->jhl,ptr3->xsl,ptr3->xse,ptr3->sys,ptr3->ml);printf("按 Enter 键返回上一级!n");scanf("%c%c",&ch,&op);system("CLS");void jiaohuan(struct sp *p,struct sp *q)/ 排序之交换节点信息(int bh,jhl,xsl,sys;char pm
36、10;float jj,sj,xse,ml;bh=p->bh;p->bh=q->bh;q->bh=bh;strcpy(pm,p->pm);strcpy(p->pm,q->pm);strcpy(q->pm,pm);jj=p->jj;p->jj=q->jj;q->jj=jj;sj=p->sj;p->sj=q->sj;q->sj=sj;jhl=p->jhl;p->jhl=q->jhl;q->jhl=jhl;xsl=p->xsl;p->xsl=q->xsl;q-&g
37、t;xsl=xsl;xse=p->xse;p->xse=q->xse;q->xse=xse;sys=p->sys;p->sys=q->sys;q->sys=sys;ml=p->ml;p->ml=q->ml;q->ml=ml;)struct sp *jiazaiwenjian()力口载文件(FILE *fp;char save14="e:goods.txt",s7;struct sp *p,*head,*ptr;fp = fopen(save,"r");p =(struct sp *)
38、malloc(sizeof(struct sp);if(p=NULL) (printf("申请内存失败!n");exit(-1);)fscanf(fp,"%s",s);fscanf(fp,"%s",s);fscanf(fp,"%s",s);fscanf(fp,"%s",s);fscanf(fp,"%s",s);fscanf(fp,"%s",s);fscanf(fp,"%s",s);fscanf(fp,"%s",s);
39、fscanf(fp,"%s",s);fscanf(fp,"%d",&p->bh);fscanf(fp,"%s",p->pm);fscanf(fp,"%f",&p->jj);fscanf(fp,"%f",&p->sj);fscanf(fp,"%d",&p->jhl);fscanf(fp,"%d",&p->xsl);fscanf(fp,"%f",&p->
40、;xse);fscanf(fp,"%d",&p->sys);fscanf(fp,"%fn",&p->ml);p->next = NULL;head = p;ptr = p;while(!feof(fp)(p =(struct sp *)malloc(sizeof(struct sp);if(p=NULL) (printf("申请内存失败!n");exit(-1);fscanf(fp,"%d",&p->bh);fscanf(fp,"%s",p->
41、;pm);fscanf(fp,"%f",&p->jj);fscanf(fp,"%f",&p->sj);fscanf(fp,"%d",&p->jhl);fscanf(fp,"%d",&p->xsl);fscanf(fp,"%f",&p->xse);fscanf(fp,"%d",&p->sys);fscanf(fp,"%fn",&p->ml);p->next
42、 = NULL;ptr->next = p;ptr = p;fclose(fp);return head;void baocunwenjian(struct sp *head)/ 保存文件 (FILE *fp;char save14="e:goods.txt"struct sp *ptr;fp=fopen(save,"w");if(save=NULL)printf("文件创建失败!n");exit(0);ptr=head;fprintf(fp," 编号 品名 进价 售价进货量销售量销售额剩余数 毛利n");w
43、hile(ptr!=NULL)fprintf(fp,"%8d%10s%8.1f%8.1f%8d%8d%8.1f%8d%8.1fn",ptr->bh,ptr->pm,ptr->jj,ptr->sj, ptr->jhl,ptr->xsl,ptr->xse,ptr->sys,ptr->ml);ptr=ptr->next;fclose(fp);printf("文件保存成功!n");) int main(void)(FILE *fp;struct sp *head=NULL,*ptr=NULL;int n
44、,a,c;char save14="e:goods.txt",ch;fp = fopen(save,"r"); if(fp=NULL) (printf("文件打开失败!n"); exit(-1);)ch=fgetc(fp);if(ch!=EOF) head=jiazaiwenjian();) else fclose(fp);printf("文件内容为空!加载失败n请输入“1”以创建商品档案n");) doshow1(); scanf("%d",&n); switch(n) case 1:
45、system("CLS");printf("你确定创建商品系统?若之前你的文件中有内容,将被清空,是否继续? n1:继续2:放弃n");scanf("%d",&c); system("CLS"); while(c!=1&&c!=2) system("CLS"); printf("输入有误,请重新输入!n");printf("你确定创建商品系统*之前你的文件中有内容,将被清空,是否继续? n1: 继续2:放弃n");scanf(&qu
46、ot;%d",&c);system("CLS");)if(c=1)head=create();break;case 2:system("CLS"); doshow2();scanf("%d",&a);switch(a) case 1:system("CLS"); head=tianjia(head); system("CLS");break;case 2:system("CLS");head=shanchu(head);system("CLS");break;case 3:system("CLS");head=xiugai(head);system("CLS");break;case 4:system("CLS");break;case 0:baocunwenjian(head);exit(0);default:system("CLS");printf("输入有误,请重新输入: break;)while(a!
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 云队课的心得体会
- 高中寒假实践报告
- 社团活动策划案范文8篇
- 西湖导游词范文300字(33篇)
- 银行公司业务工作总结(7篇)
- DB12-T 1108-2021 车用乙醇汽油(E10)快速筛查技术规范
- DB11T 1665-2019 超低能耗居住建筑设计标准
- 化工热力学教案
- 2023年电子计步器实验分析仪器资金筹措计划书
- 二年级数学计算题专项练习1000题汇编集锦
- 远离黄赌毒学习教案
- 影响健康因素多 课件 2024-2025学年人教版(2024)初中体育与健康七年级全一册
- 幼儿园转课协议书范文范本
- 2023年银行反洗钱知识竞赛题库及答案(120题)
- 广东省深圳市宝安区2024-2025学年三年级上学期月考数学试卷(10月份)
- 人教版六年级上册道德与法治知识点
- 与蓟州区幼儿园结对帮扶协议书(2篇)
- 班主任能力大赛情景答辩环节真题及答案高中组
- 知道智慧网课《科技伦理》章节测试答案
- 大学生职业生涯发展展示
- 2024年纳税服务条线专业知识考试题库(含答案)
评论
0/150
提交评论