版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.服装销售系统一 .【要求】( 1) 系统包含三类用户:管理员、店长、销售员。( 2) 向管理员提供以下功能: 自身密码修改、 其他用户添加删除、 用户信息修改、统计。商品信息添加、修改、删除、查找、统计。( 3) 向店长提供以下功能:登录、注销、自身密码修改、自身信息修改,商品信息修改、商品信息设计,查看日报表、月报表、商品销售量报表、查找浏览器修改商品储备信息。( 4) 向销售员提供以下功能:商品浏览、查找、出售,查看自己本日报表、本月报表。( 5)提示 ( 1) 总体设计:整个服装销售系统可设计为管理员模块、店长模块、销售员模块、商品模块等。( 2) 数据结构采用结构体。二、结构图根据需
2、求分析,该程序中销售员应实现如下功能:商品浏览、商品查找、出售商品、销售记录、用户注销,具体结构图如下。 店长应实现如下功能: 登录、注销、自身密码修改、自身信息修改,商品信息修改、商品信息设计,查看日报表、月报表、商品销售量报表、 查找浏览器修改商品储备信息,具体结构图如下。.销售员商品浏览商品查找出售商品销售记录用户注销店长商商销商密用品品售品码户浏查员信修注览找业息改销绩修改管理员需要实现如下功能:自身密码修改、其他用户添加删除、用户信息修改、统计。商品信息添加、修改、删除、查找、统计。具体结构图如下。.管理员添删退注修商查删添统加除出销改品找除加计用用系账密统商商商用户户统户码计品品品
3、户三、程序中典型的流程图分析(一)添加模块( 1)分析:信息添加模块职工的基本信息包括:用户、商品基本信息,对它们输入后,要存进原文件,流程图如下。开始文件打开否输入信息输出错误信息将信息输出到磁盘是否继续调用 printf_back() 函数结束(二)浏览模块( 1)分析:浏览功能首先需要查找信息是否存在,在查找时,因为磁盘文件无.序,所以采用直接查找的办法。在容错上有较好的能力,输错时系统会有提示,也会作出相应的反映。算法和以上的分程序有相同的优点。流程开始输出错误信息打开文件否查找商品信息是否查找到输出商品信息操作存盘是否继续结束(三)查询模块( 1)分析:基本信息的查询按查询方式:按商
4、品的名称查询,可供选择的方式比较丰富。但本程序只使用了一种。 在查询小模块中采用了直接查找的方法, 这主要是由于磁盘文件无序的缘故。 程序在选择结构上采用了 if 和 else的嵌套形式,看起来有点繁杂。.开始文件打开查询方式输出错误信息商品的名称是否继续结束(四)删除模块( 1)分析:商品信息存放在磁盘中,程序须将该文件全部取出来,在内存中把要删掉的内容除去, 然后在重新输入到磁盘, 这种算法比较合理, 但有一点烦琐。可以改为另一种办法: 设置一个标示符, 对有这些标识符的记录在下次输入时跳过,在新商品信息输入时,将其覆盖就行了。在对文件进行删除时,考虑到很多方面,如:查询不到时系统该如何处
5、理等。 人性化设计有在删除之前询问是否继续。流程图 .开始文件打开输出错误信息查找商品信息是否查找到删除操作输入信息是否继续结束五)修改模块( 1)分析:修改与删除程序相似,管理员信息存放在磁盘中,程序须将该文件全部取出来, 在内存中把要修改的内容修改, 然后在重新输入到磁盘, 这种算法比较合理,但有一点烦琐,可以改进。.开始文件打开输出错误信息查找职工信息是否查找到修改操作输入信息是否继续结束四、题目分析1、按照系统需要三类用户用它作为主函数:int main()user *use;DRESS *dress; ADMIN *adm;use=(user *)malloc(200*sizeof(
6、user);userIntiate(use);adm=(ADMIN *)malloc(sizeof(ADMIN);adminIntiate(adm);dress=(DRESS *)malloc(500*sizeof(DRESS);dressIntiate(dress);while(1).if(first(use,adm,dress)=3) continue;2、三类用户的选择登陆为int *first(user *use,ADMIN *adm,DRESS *dress)int chose;int temp,temp2;while(1)system(cls);printf(/=功能菜单=/n);
7、printf(/n);printf(/n);printf(/1,销售员登陆/n);printf(/2,店长登陆/n);printf(/3,管理员登陆/n);printf(/n);printf(/=/n);.printf(n/=请选择服务的种类=/n);scanf(%d,&chose);if(chose5)printf(你的选择出现错误!按任意键重新的进入选择菜单!n);system(pause);continue;switch(chose)case 1:system(cls);if(userload(use)=1) usermenu(use,dress);system(pause);break
8、;case 2:.system(cls);if(monload(use)=1)monmenu(use,dress);break;case 3:system(cls);temp=adminload(adm);if(temp=1)system(pause);temp2=adminmenu(adm,use,dress);return 3;system(pause);continue;.default: exit(0);/while()3、当选择管理员的时候就用如下程序,注明(管理员的初始账号是admin)int regnew(user *use)char name21; char pass7=0;
9、int chose;int i,j;int type;while(1)system(cls);printf(用户名: );scanf(%s,&name);printf(密码: );for(i=0;i6;i+) passi=getch(); printf(*);printf(nn请输入用户的类型: 0,销售员.1,店长 );scanf(%d,&type);while(1)printf(nn用户注册信息入完毕,是否确认?1,确认 0,重新输入 n);scanf(%d,&chose);if(chose!=1&chose!=0)printf(你的输入有误,请重新的输入!n);continue;if(c
10、hose=1) for(i=0;iusernum+1;i+) if(usei.flag=0)printf(注册成功!请继续使用! n);strcpy(usei.username,name);strcpy(usei.pass,pass);usernum+;usei.flag=1;usei.type=type;return 1;.else break;int deluser(user *use)int i;char name20;printf(请输入你想要删除的用户的用户名: );scanf(%s,name);for(i=0;i200;i+)if(strcmp(usei.username,name
11、)=0)printf(nnn用户%s 删除成功! nnnn,name);strcpy(usei.username,unknown);usei.flag=-1;return 1;printf(用户%s 不存在!请查正在次操作!nnnn,name);return 0;int useall(user *use).int i; system(cls);printf( 销售人员: n); for(i=0;i200;i+) if(usei.type=0) if(usei.flag=1)printf(用户姓名:%s 用户密码:%sn,usei.username,usei.pass);printf(店长: n
12、);for(i=0;i200;i+) if(usei.type=1) if(usei.flag=1)printf(用户姓名:%s 用户密码:%sn,usei.username,usei.pass);int adminload(ADMIN *adm)char name21; char pass7=0;.int chose,chose2;int i,j;while(1)system(cls);printf(管理员账号: );scanf(%s,&name);printf(密码: );for(i=0;iname,name)=0)if(strcmp(adm-pass,pass)=0)printf(登陆成
13、功!请继续使用!n);strcpy(usertemp.username,name);return 1;printf(输入的用户名或者密码有误!1,重新登陆2,退出登陆! n);scanf(%d,&chose2);if(chose2=1)system(cls);break;elsesystem(cls); return 0;.if(chose=0) break;int adminpass(ADMIN *adm)int i;char pass20=0; char pass220=0; while(1)system(cls);printf( 请输入新的管理员密码: );for(i=0;i6;i+)
14、passi=getch(); printf(*);printf(nnn请再次输入新的管理员密码:);for(i=0;ipass,pass);system(pause);return 1;int adminout()int chose; while(1) system(cls);printf(你确定要注销吗?1,注销0,取消 nn);.scanf(%d,&chose);if(chose!=0&chose!=1) printf(你的选项出现了错误,请重新的输入!nnn);system(pasue);continue;if(chose=1)printf(管理员 账户注销完毕!nnnn);system
15、(pause);return 1;else return 0;int out()int chose;system(cls);printf(真的要退出系统吗?退出后信息会全部的丢失!1,退出0,取消 );.scanf(%d,&chose);if(chose=1)exit(0);else return 1;int adminmenu(ADMIN *adm,user *use,DRESS *dress)int chose1;while(1)system(cls);printf(n在线用户:%snn,usertemp.username);printf(/= = 用户功能菜单=/n);printf(/n
16、);printf(/1 ,添加用户/n);printf(/2,删除用户/n);printf(/3 ,统计用户/n);.printf(/4 ,添加商品/n);printf(/5 ,删除商品/n);printf(/6 ,查找商品/n);printf(/7 ,商品统计/n);printf(/8 ,修改密码/n);printf(/9,注销账户/n);printf(/0 ,退出系统/n);printf(/=/n);printf(n/=请选择服务的种类 =/n);scanf(%d,&chose1);if(chose19)printf(你的输入有误,请重新的输入! n);.system(pasue);con
17、tinue;switch(chose1)case 1:system(cls);regnew(use);system(pause);break;case 2:system(cls);deluser(use);system(pause);break;case 3:system(cls);useall(use);.system(pause);break;case 4:system(cls);adddress(dress);system(pasue);break;case 5:system(cls);deldress(dress);break;case 6:system(cls);finddress(
18、dress);break;.case 7:system(cls);dressall(dress);system(pasue);break;case 8:system(cls);if(adminpass(adm)=1) continue;break;case 9:system(cls);if(adminout()=1) return 3;case 0:system(cls);if(out()=1) continue;break;.default: continue;int userload(user *use)char name21; char pass7=0;int chose,chose2;
19、int i,j;while(1)system(cls);printf(用户名: );scanf(%s,&name);printf(密码: );for(i=0;i6;i+)passi=getchar();printf(*);while(1).printf(nn用户登陆信息输入完毕, 是否确认 ?1,确认 0,重新输入 n);scanf(%d,&chose);if(chose!=1&chose!=0)printf(你的输入有误,请重新的输入!n);continue;if(chose=1)for(i=0;i200;i+)if(usei.type=1)if(strcmp(usei.username,n
20、ame)=0)if(strcmp(usei.pass,pass)=0)printf(登陆成功!请继续使用!n);strcpy(usertemp.username,name);return 1;.printf(输入的用户名或者密码有误! 1,重新登陆 2,退出登陆! n);scanf(%d,&chose2);if(chose2=1)system(cls);break;elsesystem(cls); return 0;if(chose=0) break;这里面包含了管理员的十个功能选项。4,选择销售员和店长,(注明第一次运行时本来没有销售员和店长,需要管理员添加。)int userout().i
21、nt chose; while(1) system(cls);printf(n在线用户:%snn,usertemp.username);printf(你确定要注销吗?1,注销0,取消 nn);scanf(%d,&chose);if(chose!=0&chose!=1)printf(你的选项出现了错误, 请重新的输入!nnn);system(pasue);continue;if(chose=1)printf(销售员账 户注销完毕!nnnn);strcpy(usertemp.username,unknown);/system(pause);return 1;.else return 0;int s
22、old(user *use,DRESS *dress)char name20; int num;int i; int j; int k;system(cls);printf(n在线用户: %snn,usertemp.username);printf(请输入要出售的商品的名称:);scanf(%s,&name);printf(n请输入出售的数量: );scanf(%d,&num);for(k=0;k200;k+)if(strcmp(usek.username,usertemp.username)=0)for(i=0;i500;i+)if(strcmp(,name)=0).i
23、f(dressi.nownum) break;dressi.now=dressi.now-num;printf(nnn商 品%s 已 经 销售 出了%d 件n,name,num);for(j=0;j100;j+)if(usek.mdbj.flag=0)strcpy(,name);usek.mdbj.flag=1;usek.mdbj.total=num;return 1;printf(商品出售出现错误!请重新操作! nnn);return 0;void mounth(user *use).int i; int j;char name20; strcpy(name,us
24、ertemp.username);system(cls);printf(n在线用户: %snn,usertemp.username);for(i=0;i100;i+) if(strcmp(usei.username,name)=0) for(j=0;j100;j+)if(usei.mdbj.flag=1)printf(商 品 名 称 :%s, 出 售 数量: %dn,,usei.mdbj.total);int usermenu(user *use,DRESS *dress)int i;int chose1;.while(1)system(cls);printf(n在
25、线用户:%snn,usertemp.username);printf(/= = 用户功能菜单=/n);printf(/n);printf(/1 ,商品浏览/n);printf(/2 ,商品查找/n);printf(/3,出售商品/n);printf(/4 ,销售记录/n);printf(/5 ,用户注销/n);printf(/n);printf(/./n);printf(/=/n);printf(n/=请选择服务的种类 =/n);scanf(%d,&chose1);if(chose19)printf(你的输入有误,请重新的输入! n);system(pasue);continue;switch
26、(chose1)case 1:system(cls);dressall(dress);break;case 2:system(cls);finddress(dress);.break;case 3:system(cls);sold(use,dress);system(pause);break;case 4:system(cls);mounth(use);system(pause);break;case 5:system(cls);if(userout()=1) return 3;break;default: continue;.int monpass(user *use)int i;char
27、pass20=0; char pass220=0; while(1) printf(请输入新的密码: ); for(i=0;i6;i+)passi=getch();printf(*);printf(nnn请再次输入新的密码: ); for(i=0;i6;i+)pass2i=getch();printf(*);if(strcmp(pass,pass2)!=0)printf(nn两次输入的新的密码不一样,请重新的输入! nnn);.system(pause);elseprintf(n密码修改成功!下一次登陆请使用新的密码!nnn);for(i=0;i200;i+)if(strcmp(usei.us
28、ername,usertemp.username)=0)strcpy(usei.pass,pass);system(pause);return 1;void monsee(user *use)int i; int j;char name20;.system(cls);printf(n在线用户: %snn,usertemp.username);for(i=0;i100;i+) if(usei.flag=1&usei.type=0)printf( 销售员姓名:%sn,usei.username);for(j=0;j100;j+)if(usei.mdbj.flag=1)printf(商 品 名 称
29、:%s, 出 售 数量: %dn,,usei.mdbj.total);int monload(user *use)char name21;char pass7=0;int chose,chose2;int i,j;.while(1)system(cls);printf(用户名: );scanf(%s,&name);printf(密码: );for(i=0;i6;i+)passi=getch();printf(*);while(1)printf(nn用户登陆信息输入完毕, 是否确认 ?1,确认 0,重新输入 n);scanf(%d,&chose);if(chose!=
30、1&chose!=0)printf(你的输入有误,请重新的输入!n);continue;if(chose=1).for(i=0;i200;i+)if(usei.type=1)if(strcmp(usei.username,name)=0)if(strcmp(usei.pass,pass)=0)printf(登陆成功!请继续使用!n);strcpy(usertemp.username,name);return 1;printf(输入的用户名或者密码有误! 1,重新登陆 2,退出登陆! n);scanf(%d,&chose2);if(chose2=1)system(cls);break;else.
31、system(cls);return 0;if(chose=0) break;int monout()int chose;while(1)system(cls);printf(n在线用户:%snn,usertemp.username);printf(你确定要注销吗?1,注销0,取消 nn);scanf(%d,&chose);if(chose!=0&chose!=1)printf(你的选项出现了错误, 请重新的输入!.nnn);system(pasue);continue;if(chose=1)printf(店长账户注销完毕!nnnn);strcpy(usertemp.username,unknown);return 1;else
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 手房意向金合同范本标准版
- 2024年度工程施工居间合同3篇
- 甲供材料合同协议书范本
- 2024版软件翻译服务合同2篇
- 酒店房屋租赁合同范本2篇
- 商业房屋租赁合同
- 物业公司装修工程合同范本
- 完整版经营转让协议标准版可打印
- 《钉钉使用教程》课件
- 采购单价下调报告范文
- ISO15614-1 2017 金属材料焊接工艺规程及评定(中文版)
- 2024年上海奉贤投资(集团)限公司招聘3人历年公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版
- 2024年甘孜州州属事业单位考调工作人员高频考题难、易错点模拟试题(共500题)附带答案详解
- 《10kV带电作业用绝缘斗臂车》
- 海河杯创优专项方案
- 数字化转型培训课件
- 湖南省医疗机构卫生监督量化分级评分表
- (2024年)大学生网络安全常识PPT课件模板
- 《香格里拉并不遥远课件》初中音乐苏少课标版-八年级上册课件3663
- 主播人设方案
- JBT 14646-2023 低蠕变填充改性聚四氟乙烯垫片 (正式版)
评论
0/150
提交评论