版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、作品名称开发者:系统背景:本软件能减轻对货物数目管理及价格盈亏等信息处理的工作量以便能快捷及时准 确的调整货物的仓储量达到最合理化。可以使店主不失效率的节省大量精力用于其他方面符合当今社会的商业形式而且本软件体积小操作简单是管理仓库的不二选择系统简介:设计亮点:三级菜单使操作更简便明了密码操作能有效保证客户信息的安全性独特的dos命令调用使信息存储的实体属性为隐藏且无扩展名大大增大了安全系数数据结构为链表摆脱了数据数量的限制提供三种查看模式并会标出排名退出店主模式时会提示是否保存若选择yes着进行保存操作基本功能:在员工模式下可输入卖出货物的名称和数目程序自动在后台进行一系列的操作-新建数据并
2、同时对其处理-修改数据-插入数据-删除数据-查找数据查看数据-数据存档修改密码系统结构图#define LEN sizeof(struct shop)#include<stdio.h>#include<conio.h>#include<string.h>#include<stdlib.h>struct shopchar name30;float price_in;float price_out;int num_in;int num_now;int num_sold;float win;float percent;struct shop *next
3、;int n=0;void main(void)void auto1(struct shop *h_p);int menu1(struct shop *h_p);void print1(void);void assistant(struct shop *head);int password(void);int menu2(struct shop *h_p);void print2(void);void creat(struct shop *h_p);void rewrite(struct shop *h_p);void insert(struct shop *h_p);void deleat(
4、struct shop *h_p);void search(struct shop *h_p);void printall(struct shop *h_p);void save(struct shop *head);void password_set(void);int password_exi(struct shop *h_p);int data_exi(struct shop *h_p); void load(struct shop *h_p);void save(struct shop *head); struct shop *addbuild(struct shop *h_p); v
5、oid sort0(struct shop *h_p); int search1(struct shop *h_p,char a30); void sort1(struct shop *h_p); void sort2(struct shop *h_p); void sort3(struct shop *h_p);void print3(void);void password_create(void);struct shop *addbuild(struct shop *h_p); int a;struct shop *head,*h_p; head=NULL;h_p=&head; a
6、uto1(h_p);doa=menu1(h_p);while(a!=3);system("cls");printf(”谢谢使用 A_A");getch();int menu1(struct shop *h_p)int a,b;struct shop *head; head=*h_p;print1();scanf("%d",&a); putchar('n');getchar();doswitch(a)case 1:assistant(head);break; case 2:if(password()dob=menu2(h_
7、p);while(b!=9);break;default:break;if(a!=3) system("cls"); print1(); scanf("%d",&a);while(a!=3); return(a);int menu2(struct shop *h_p)int b;char a;struct shop *head; head=*h_p;print2(); scanf("%d",&b); putchar('n'); getchar();doswitch(b)case 1:creat(h_p)
8、;break;case 2:rewrite(h_p);break;case 3:insert(h_p);break;case 4:deleat(h_p);break;case 5:search(h_p);break;case 6:printall(h_p);break;case 7:head=*h_p;save(head);break;case 8:password_set();break; default:break;if(b!=9) system("cls");print2(); scanf("%d",&b); getchar();while
9、(b!=9);printf("n 保存吗 ?(y/n):");putchar('n');scanf("%c",&a);if(a='y')head=*h_p;save(head);return(b);void auto1(struct shop *h_p)if(password_exi(h_p) && data_exi(h_p) load(h_p);void print1(void)system("cls");printf("* *n");仓库管理系统print
10、f("n");printf("* *n");printf("n"); printf("n"); printf(" n");printf("n"); printf(" n");printf("n"); printf("n");#|#|#|1.2.3.#*员工模式店主模式退出菜 单 *#|#|#|#*#printf("n 请选择 (1-3):");void assistant(struct shop
11、*head) char a50,c='y' int b;struct shop *i; i=head;while(c='y') system("cls");printf("n 请输入卖出的商品名称 :n"); gets(a);putchar('n');printf("n 请输入卖出的商品数量 :n"); scanf("%d",&b);putchar('n'); while(strcmp(i->name,a)!=0&&i-&
12、gt;next!=NULL) i=i->next;if(i->next!=NULL) i->num_now-=b;此商品不存在或通知店主更新数据库 n"); 继续吗? (y/n):");i->win=(i->num_in-i->num_now)*(i->price_out-i->price_in); else printf("n printf("n putchar('n'); c=getchar();getchar(); save(head);int password(void)FILE*f
13、p;char a50,b50;int i;system("cls"); fp=fopen("c:y_secrea","rb");fscanf(fp,"%s",&a);fclose(fp);printf(" 请输入密码 :n");putchar('n');i=0;dobi=getch();printf("*");i+; while(bi-1!=13&&i<19); bi-1='0'if(strcmp(a,b)=0)
14、return(1);else return(0);void print2(void)system("cls");printf("* *n");店主模式printf("n");printf("* *n");printf("n"); printf("n"); printf(" n");printf("n"); printf("n"); printf("n"); printf(" n"
15、;);printf("#|#|#|#|#|1.3.5.7.9.#*新建插入查找保存2.4.6.8.菜单上一层*#修改删除查看改密|#*#|#|#|#|#n"); printf("n");printf(" 请选择 (1-9):"); void creat(struct shop *h_p)struct shop *head,*i,*j;int f=1;head=NULL;n=0;printf("n 请输入数据 若完成 请在名称处输“ 0” .nn"); i=j=addbuild(&head);if(strcm
16、p(i->name,"0")=0)f=0;while(f)n+;if(n=1)head=j;f=1;printf("n 请输入下一种货物的数据 .nn"); i=addbuild(&head);if(strcmp(i->name,"0")=0)free(i);f=0;break;j->next=i; j=i; j->next=NULL; *h_p=head;void rewrite(struct shop *h_p)char a30;struct shop *i,*j,*head;head=*h_p;
17、i=head;doprintf("n 请输入要修改货物的名称 :"); putchar('n');gets(a);if(n>=1&&!search1(h_p,a)printf("n 不存在的货物名称! n");getch();if(head=NULL) goto end;while(n>=1&&!search1(h_p,a);while(strcmp(a,i->name)!=0&&i->next!=NULL) i=i->next;if(strcmp(a,i-&g
18、t;name)=0)printf("n 真的要修改吗? ?(y/n):");putchar('n');if(getchar()='y')getchar();j=addbuild(h_p);strcpy(i->name,j->name); i->price_in=j->price_in; i->price_out=j->price_out; i->num_in=j->num_in; i->num_now=j->num_now; i->num_sold=j->num_sold
19、; i->win=j->win; i->percent=j->percent; free(j);printf("n修改完成A_Ann");end:;void insert(struct shop *h_p)struct shop *i,*j,*x,*head; head=*h_p;x=addbuild(h_p); i=j=head;while(strcmp(i->name,x->name)<0&&i->next!=NULL) j=i;i=i->next;if(strcmp(i->name,x->
20、;name)>=0)if(i=head) head=x;elsej->next=x;x->next=i;elsei->next=x;x->next=NULL;printf("n插入完成人_人门n.");*h_p=head;void deleat(struct shop *h_p)struct shop*i,*j,*head;char a30,b; head=*h_p; do system("cls");printf("n 请输入你要删除的货物的名称 :n"); putchar('n');g
21、ets(a);if(n>=1&&!search1(h_p,a)printf("n 不存在的货物名称! n"); if(head=NULL) goto end;while(n>=1&&!search1(h_p,a);printf("n 真的要删除吗 ?(y/n):"); putchar('n');b=getchar();getchar();if(b='y')i=head;while(strcmp(i->name,a)!=0&&i->next!=NULL)
22、 j=i;i=i->next;if(strcmp(i->name,a)=0)if(i=head)head=i->next; free(i);else j->next=i->next; n-;printf("n删除完成 _.nn");*h_p=head; end:;void search(struct shop *h_p)int begin,end,mid,t;char a30; struct shop *i,*head; head=*h_p;i=head;printf("n 请输入要查询货物的名称 :"); putchar(
23、'n');gets(a);while(strcmp(i->name,a)!=0)&&i->next!=NULL) i=i->next;if(strcmp(i->name,a)=0)存货数目销量 t 赢利 t 利率printf("n名称 t 进价 t 售价 t 进货数目n");printf("n= =n");printf("%s%10.2f%10.2f%10d%10d%10d%9.2f%10.2f",i->name,i->price_in,i->price _ou
24、t,i->num_in,i->num_now,i->num_sold,i->win,i->percent);elseprintf("n 此货物不存在 !n");getch();void printall(struct shop *h_p) int a,c;char b='y' struct shop *i; while(b='y') dosystem("cls");print3();scanf("%d",&a);while(a!=1&&a!=2&am
25、p;&a!=3);switch(a)case 1:sort1(h_p);break; case 2:sort2(h_p);break; case 3:sort3(h_p);break; default:break;for(c=1,i=*h_p;i->next!=NULL;i=i->next,c+)printf("n 名称 t 进价 t 售价 t 进货数目 排名 n");printf("n=存货数目销量t赢利t利率t=n");printf("%s%10.2f%10.2f%10d%10d%10d%9.2f%10.2f%8d&qu
26、ot;,i->name,i->price_in,i->pr ice_out,i->num_in,i->num_now,i->num_sold,i->win,i->percent,c);if(c%8=0)getch();getchar();printf(" 按任意键继续。 。 n");。printf("n名称 t 进价 t 售价 t 进货数目排名 n");printf("n=存货数目销量 t 赢利 t 利率 t=n");printf("%s%10.2f%10.2f%10d%10d
27、%10d%9.2f%10.2f%8d",i->name,i->price_in,i->pr ice_out,i->num_in,i->num_now,i->num_sold,i->win,i->percent,c);getch();getchar();system("cls");printf(" 查看其他排列方式? (y/n):");scanf("%c",&b);pufchar(vl-=void save(sfrucf shop *head) 宀F_LE *fp八sfr
28、ucf shop 士Sysfe3(=awib c,wldafa h=)八 sysfem(=de- c,wldafa=)八 fpHfopen(=c±yldafa-=wb+£ "head 八 for(iHheadvnexHHNULL=Hivnexu 宀 fprinff(fpJWSW7.2fv.2h%dvdvcL%.2fv.2fxi-vna3ej-vpricelin-vpriceouuvnumlinvnumlnowvnumlso-dvwinvpercenu 八 fprinff(fpJ%sw7.2fv.2h%dvdvcL%.2fv.2fxi-vna3ej-vpriceli
29、n-vpriceouuvnumlin vnumlnowvnumlso-dvwinvpercenu 八fc-ose(fp)八Sysfe3(=awib cwdafa +h= prinmvl>l> 口帝咄 一n£void passwordlsefo 宀F_LE *fp八 in 二 fuojuo 八 char a一20Lb_2udo宀if(password()宀do宀sysfem(=c_s=)八prinm-逋鸯>遵曲盛(3土 9 ),n£ pufchar(vl-)八-Ho-do ai=getch(); printf("*");i+; while
30、(ai-1!=13&&i<19); ai-1='0'printf("n 请确认新密码 :n"); putchar('n');i=0; do bi=getch(); printf("*");i+; while(bi-1!=13&&i<19); bi-1='0'if(strcmp(a,b)=0&&i>2)t=1;system("attrib c:y_secrea -h"); system("del c:y_secre
31、a"); fp=fopen("c:y_secrea","wb+"); fprintf(fp,"%s",a);fclose(fp);printf("n密码修改完成人_人门"); while(t=0); else f+; if(f=3) break; while(t=0);int password_exi(struct shop *h_p) FILE *fp;if(fp=fopen("c:y_secrea","rb")!=NULL) fclose(fp); return
32、 1;else password_create(); creat(h_p); save(*h_p);return 0;int data_exi(struct shop *h_p)FILE *fp;if(fp=fopen("c:y_data","rb")!=NULL) fclose(fp);return 1;elsecreat(h_p);save(*h_p);return 0;void load(struct shop *h_p) FILE *fp;struct shop *head,*i,*j;head=NULL;j=i=(struct shop *)m
33、alloc(LEN);if(fp=fopen("c:y_data","rb")!=NULL)while(!feof(fp)fscanf(fp,"%s%f,%f,%d,%d,%d,%f,%f",i->name,&i->price_in,&i->price_out,&i->n um_in,&i->num_now,&i->num_sold,&i->win,&i->percent);n+;if(n=1)head=j;if(!feof(fp)
34、i=(struct shop*)malloc(LEN);j->next=i;j=i;j->next=NULL;*h_p=head;fclose(fp);struct shop *addbuild(struct shop *h_p) struct shop *i;int b,f;float c;char a30;i=(struct shop *)malloc(LEN);dof=0;printf("n 请输入名称 :nn"); scanf("%s",a);if(n>=1&&search1(h_p,a)printf("
35、;n 名称重复! n");f=1;while(f);strcpy(i->name,a); if(strcmp(i->name,"0")=0) return(i);printf(" 请输入进价 :nn");scanf("%f",&c);i->price_in=c;printf(" 请输入售价 :nn");scanf("%f",&c);i->price_out=c;printf(" 请输入进货数目 :nn");scanf(&quo
36、t;%d",&b);i->num_in=b;printf(" 请输入现存数目 :nn"); scanf("%d",&b); i->num_now=b;i->num_sold=i->num_in-i->num_now;i->win=(i->num_in-i->num_now)*(i->price_out-i->price_in); i->percent=(i->price_out-i->price_in)/(i->price_in); return
37、(i);void sort0(struct shop *h_p)struct shop *i,*j,*z,*sei,*jt,*seit;int ni,nj,np,t;char sm30; if(n>=2) for(i=*h_p,ni=1;i->next!=NULL;i=i->next,ni+) strcpy(sm,i->name);np=ni;for(j=i->next,nj=ni+1;j->next!=NULL;j=j->next,nj+) if(strcmp(sm,j->name)>0)np=nj;strcpy(sm,j->nam
38、e); if(j->next=NULL) if(strcmp(sm,j->name)>0)np=nj;if(np!=ni)for(t=1,j=*h_p;t<np-1;j=j->next,t+); jt=j->next;i=jt;if(ni=1) seit=*h_p; z=*h_p; *h_p=j->next; j->next=z;elsefor(t=1,sei=*h_p;t<ni-1;sei=sei->next,t+); seit=sei->next;z=sei->next;sei->next=j->next;
39、 j->next=z; z=jt->next; jt->next=seit->next; seit->next=z;int search1(struct shop *h_p,char a30) struct shop *i;int j; for(i=*h_p,j=1;j<n;j+,i=i->next) if(strcmp(a,i->name)=0) return 1; if(strcmp(a,i->name)=0) return 1;else return 0;void sort1(struct shop *h_p)struct shop
40、*i,*j,*z,*sei,*jt,*seit;int ni,nj,np,t;int sm;if(n>=2)for(i=*h_p,ni=1;i->next!=NULL;i=i->next,ni+) sm=i->num_sold;np=ni;for(j=i->next,nj=ni+1;j->next!=NULL;j=j->next,nj+) if(sm<j->num_sold)np=nj; sm=j->num_sold; if(j->next=NULL) if(sm<j->num_sold) np=nj;if(np!=
41、ni) for(t=1,j=*h_p;t<np-1;j=j->next,t+); jt=j->next; i=jt;if(ni=1) seit=*h_p; z=*h_p; *h_p=j->next; j->next=z;else for(t=1,sei=*h_p;t<ni-1;sei=sei->next,t+);seit=sei->next; z=sei->next; sei->next=j->next; j->next=z; z=jt->next; jt->next=seit->next; seit-&
42、gt;next=z; void sort2(struct shop *h_p)struct shop *i,*j,*z,*sei,*jt,*seit;int ni,nj,np,t;float sm;if(n>=2)for(i=*h_p,ni=1;i->next!=NULL;i=i->next,ni+) sm=i->win;np=ni;for(j=i->next,nj=ni+1;j->next!=NULL;j=j->next,nj+) if(sm<j->win)np=nj; sm=j->win; if(j->next=NULL)
43、if(sm<j->win) np=nj;if(np!=ni) for(t=1,j=*h_p;t<np-1;j=j->next,t+); jt=j->next; i=jt;if(ni=1)seit=*h_p;z=*h_p;*h_p=j->next; j->next=z; else for(t=1,sei=*h_p;t<ni-1;sei=sei->next,t+);seit=sei->next; z=sei->next; sei->next=j->next; j->next=z; z=jt->next; jt->next=seit->next; seit->next=z;void sort3(struct shop *h_p)struct shop *i,*j,*z,*sei,*jt,*seit;int ni,nj,np,t;float sm;if(n>=2)for(i=*h_p,ni
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度消防安全设施设计与安装服务合同3篇
- 2025年度海洋公园场地租赁合同终止及海洋生物保护协议3篇
- 2025年度应急救援车辆借用及调度合同模板3篇
- 湖南交通工程学院《商务数据分析与方法》2023-2024学年第一学期期末试卷
- 2024年货物搬运及运输合同
- 2025年度新能源汽车充电站运营管理服务合同3篇
- 2024年电子设备购买担保合同
- 17 屈原(节选)公开课一等奖创新教案
- 2024年饭店管理运营权承包合同书版B版
- 2025年大兴安岭林业集团公司招聘笔试参考题库含答案解析
- 2025北京朝阳初二(上)期末数学真题试卷(含答案解析)
- 部编新改版语文一年级下册《语文园地四》教学设计
- 2025年北京铁路局集团招聘笔试参考题库含答案解析
- 做账实操-科学研究和技术服务业的账务处理示例
- 2025年人教版历史八上期末复习-全册重难点知识
- 2024年国家安全员资格考试题库及解析答案
- 仪控技术手册-自控专业工程设计用典型条件表
- 法务岗位招聘笔试题及解答(某大型国企)2025年
- 曙光磁盘阵列DS800-G10售前培训资料V1.0
- 寺庙祈福活动方案(共6篇)
- 2024年化学螺栓锚固剂项目可行性研究报告
评论
0/150
提交评论