




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、服装销售系统一.【要求】(1) 系统包含三类用户:管理员、店长、销售员。(2) 向管理员提供以下功能:自身密码修改、其他用户添加删除、用户信息修改、统计。商品信息添加、修改、删除、查找、统计。(3) 向店长提供以下功能:登录、注销、自身密码修改、自身信息修改,商品信息修改、商品信息设计,查看日报表、月报表、商品销售量报表、查找浏览器修改商品储备信息。(4) 向销售员提供以下功能:商品浏览、查找、出售,查看自己本日报表、本月报表。提示(1) 总体设计:整个服装销售系统可设计为管理员模块、店长模块、销售员模块、商品模块等。(2) 数据结构采用结构体。二、结构图根据需求分析,该程序中销售员应实现如下
2、功能:商品浏览、商品查找、出售商品、销售记录、用户注销,具体结构图如下。店长应实现如下功能:登录、注销、自身密码修改、自身信息修改,商品信息修改、商品信息设计,查看日报表、月报表、商品销售量报表、查找浏览器修改商品储备信息,具体结构图如下。店长管理员需要实现如下功能:自身密码修改、其他用户添加删除、用户信息修改、统计。商品信息添加、修改、删除、查找、统计。具体结构图如下。三、程序中典型的流程图分析(一)添加模块(1)分析:信息添加模块职工的基本信息包括:用户、商品基本信息,对它们输入后,要存进原文件,流程图如下。(二)浏览模块(1)分析:浏览功能首先需要查找信息是否存在,在查找时,因为磁盘文件
3、无序,所以采用直接查找的办法。在容错上有较好的能力,输错时系统会有提示,也会作出相应的反映。算法和以上的分程序有相同的优点。流程(三)查询模块(1)分析:基本信息的查询按查询方式:按商品的名称查询,可供选择的方式比较丰富。但本程序只使用了一种。在查询小模块中采用了直接查找的方法,这主要是由于磁盘文件无序的缘故。程序在选择结构上采用了if和else的嵌套形式,看起来有点繁杂。(四)删除模块(1)分析:商品信息存放在磁盘中,程序须将该文件全部取出来,在内存中把要删掉的内容除去,然后在重新输入到磁盘,这种算法比较合理,但有一点烦琐。可以改为另一种办法:设置一个标示符,对有这些标识符的记录在下次输入时
4、跳过,在新商品信息输入时,将其覆盖就行了。在对文件进行删除时,考虑到很多方面,如:查询不到时系统该如何处理等。人性化设计有在删除之前询问是否继续。流程图五)修改模块(1)分析:修改与删除程序相似,管理员信息存放在磁盘中,程序须将该文件全部取出来,在内存中把要修改的内容修改,然后在重新输入到磁盘,这种算法比较合理,但有一点烦琐,可以改进。四、题目分析int main()1、按照系统需要三类用户用它作为主函数:user*use;DRESS*dress;ADMIN*adm;use=(user*)malloc(200*sizeof(user);userlntiate(use);adm=(ADMIN*)
5、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)(intchose;inttemp,temp2;while(1)system("cls");printf("/功能菜单=/八n");printf("/n&quo
6、t;);printf("/n");printf("/1,销售员登陆/n");printf("/2,店长登陆/n");printf("/3,管理员登陆/n");printf("/n");printf("/=/n");printf("n/=请选择服务的种类:=/n");scanf("%d",&chose);if(chose<1|chose>5)printf("你的选择出现错误!按任意键重新的进入选择菜单!n&q
7、uot;);system("pause");continue;switch(chose)case 1:system("cls");if(userload(use)=1)usermenu(use,dress);system("pause");break;case 2:system("cls");if(monload(use)=1)monmenu(use,dress);break;case 3:system("cls");temp=adminload(adm);if(temp=1)system(&q
8、uot;pause");temp2=adminmenu(adm,use,dress);return3;system("pause");continue;default:exit(0);/while()3、当选择管理员的时候就用如下程序,注明(管理员的初始账号是admin)intregnew(user*use)charname21;charpass7=0;intchose;inti,j;inttype;while(1)system("cls");printf("用户名:");scanf("%s",&
9、name);printf("密码:");for(i=0;i<6;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("你的输入有误,请重新
10、的输入!n");continue;if(chose=1)for(i=0;i<usernum+1;i+)if(usei.flag=0)printf("注册成功!请继续使用!n");strcpy(usei.username,name);strcpy(usei.pass,pass);usernum+;usei.flag=1;usei.type=type;return1;elsebreak;intdeluser(user*use)inti;charname20;printf("请输入你想要删除的用户的用户名:");scanf("%s&q
11、uot;,name);for(i=0;i<200;i+)if(strcmp(usei.username,name)=0)printf("nnn用户%s删除成功!nnnn",name);strcpy(usei.username,"unknown");usei.flag=-1;return1;printf("用户%s不存在!请查正在次操作!nnnn",name);return0;intuseall(user*use)inti;system("cls");printf("销售人员:n");for
12、(i=0;i<200;i+)if(usei.type=0)if(usei.flag=1)%s%sprintf("用户姓名:%s用户密码:n",usei.username,usei.pass);printf("店长:n");for(i=0;i<200;i+)if(usei.type=1)if(usei.flag=1)printf("用户姓名:%s用户密码:n",usei.username,usei.pass);intadminload(ADMIN*adm)charname21;charpass7=0;intchose,cho
13、se2;inti,j;while(1)system("cls");printf("管理员账号:");scanf("%s",&name);printf("密码:");for(i=0;i<6;i+)passi=getch();printf("*");while(1)printf("nn用户登陆信息输入完毕,是否确认?1,确认0,重新输入n");scanf("%d",&chose);if(chose!=1&&chose!=0
14、)printf("你的输入有误,请重新的输入!n");continue;if(chose=1)if(strcmp(adm->name,name)=0)if(strcmp(adm->pass,pass)=0)printf("登陆成功!请继续使用!n");strcpy(usertemp.username,name);return1;printf("输入的用户名或者密码有误!1,重新登陆2,退出登陆!n");scanf("%d",&chose2);if(chose2=1)system("cl
15、s");break;elsesystem("cls");return0;if(chose=0)break;intadminpass(ADMIN*adm)inti;charpass20=0;charpass220=0;while(1)system("cls");printf("请输入新的管理员密码:");for(i=0;i<6;i+)passi=getch();printf("*");printf("nnn请再次输入新的管理员密码:");for(i=0;i<6;i+)pass
16、2i=getch();printf("*");if(strcmp(pass,pass2)!=0)printf("nn两次输入的新的密码不一样,请重新的输入!nnn");system("pause");elseprintf("n密码修改成功!下一次管理员登陆请使用新的密码!nnn");strcpy(adm->pass,pass);system("pause");return1;intadminout()intchose;while(1)system("cls");prin
17、tf("你确定要注销吗?1,注销0,取消nn");scanf("%d",&chose);if(chose!=0&&chose!=1)printf("你的选项出现了错误,请重新的输入!nnn");system("pasue");continue;if(chose=1)printf("管理员账户注销完毕!nnnn");system("pause");return1;elsereturn0;)intout()intchose;取消");system
18、("cls");printf("真的要退出系统吗?退出后信息会全部的丢失!1,退出0,scanf("%d",&chose);if(chose=1)exit(0);elsereturn1;)intadminmenu(ADMIN*adm,user*use,DRESS*dress)intchose1;while(1)system("cls");printf("n户:%snn",usertemp.username);printf("/=用户功能菜单=/八n");printf("
19、;printf("/1,添加用户/八n");/八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,退
20、出系统/n");printf("/=/n");printf("n/=请选择服务的=八n");scanf("%d",&chose1);if(chose1<0|chose1>9)printf("你的输入有误,请重新的输入!n");system("pasue");continue;)switch(chose1)在线用种类case 1:system("cls");regnew(use);system("pause");break;ca
21、se 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("
22、;cls");finddress(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)return3;case0:system("cls");if(out()=1)continue;break;default:c
23、ontinue;intuserload(user*use)charname21;charpass7=0;intchose,chose2;inti,j;while(1)system("cls");printf("用户名:");scanf("%s",&name);printf("密码:");for(i=0;i<6;i+)passi=getchar();printf("*");while(1)printf("nn用户登陆信息输入完毕,是否确认?1,确认0,重新输入n"
24、);scanf("%d",&chose);if(chose!=1&&chose!=0)printf("continue;你的输入有误,请重新的输入! n");if(chose=1)for(i=0;i<200;i+)if(usei.type=1)if(strcmp(usei.username,name)=0)if(strcmp(usei.pass,pass)=0)printf("登陆成功!请继续使用!n");strcpy(usertemp.username,name);return1;printf(&quo
25、t;输入的用户名或者密码有误!1,重新登陆2,退出登陆!n");scanf("%d",&chose2);if(chose2=1)system("cls");break;elsesystem("cls");return0;if(chose=0)break;这里面包含了管理员的十个功能选项。4,选择销售员和店长,(注明第一次运行时本来没有销售员和店长,需要管理员添加。)intuserout()intchose;while(1)system("cls");printf("n在线用户:%snn&
26、quot;,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");/syst
27、em("pause");return1;elsereturn0;intsold(user*use,DRESS*dress)charname20;intnum;inti;intj;intk;system("cls");printf("n在线用户:%snn",usertemp.username);printf("请输入要出售的商品的名称:");scanf("%s",&name);printf("n请输入出售的数量:");scanf("%d",&
28、num);for(k=0;k<200;k+)if(strcmp(usek.username,usertemp.username)=0)for(i=0;i<500;i+)if(strcmp(,name)=0)if(dressi.now<num)break;dressi.now=dressi.now-num;printf("nnn商品%s已经销售出了%d件n",name,num);for(j=0;j<100;j+)if(usek.mdbj.flag=0)strcpy(,name);usek.mdbj.fl
29、ag=1;usek.mdbj.total=num;return1;printf("商品出售出现错误!请重新操作!nnn");return0;voidmounth(user*use)inti;intj;charname20;strcpy(name,usertemp.username);system("cls");printf("n在线用户:%snn",usertemp.username);for(i=0;i<100;i+)if(strcmp(usei.username,name)=0)for(j=0;j<100;j+)if(
30、usei.mdbj.flag=1)printf("商品名称:%s,出售数量:%dn",,usei.mdbj.total);intusermenu(user*use,DRESS*dress)inti;intchose1;while(1)system("cls");printf("n在线用户:%snn",usertemp.username);printf("/=用户功能菜单=/n");printf("/n");printf("/1,商品浏览/n");p
31、rintf("/2,商品查找/八n");printf("/3,出售商品/八n");printf("/4,销售记录/八n");printf("/5,用户注销/n");printf("/n");printf("/n");printf("/八n");printf("n/请选择服务的种类:=/n");scanf("%d",&chose1);if(chose1<0|chose1>9)(printf(&quo
32、t;你的输入有误,请重新的输入!n");system("pasue");continue;switch(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(u
33、se);system("pause");break;case 5:system("cls");if(userout()=1)return3;break;default:continue;intmonpass(user*use)inti;charpass20=0;charpass220=0;while(1)printf("请输入新的密码:");for(i=0;i<6;i+)passi=getch();printf("*");printf("nnn请再次输入新的密码:");for(i=0;i&
34、lt;6;i+)pass2i=getch();printf("*");if(strcmp(pass,pass2)!=0)printf("nn两次输入的新的密码不一样,请重新的输入!nnn");system("pause");elseprintf("n密码修改成功!下一次登陆请使用新的密码!nnn");for(i=0;i<200;i+)if(strcmp(usei.username,usertemp.username)=0)strcpy(usei.pass,pass);system("pause&qu
35、ot;);return1;voidmonsee(user*use)inti;intj;charname20;system("cls");printf("n在线用户:%snn",usertemp.username);for(i=0;i<100;i+)if(usei.flag=1&&usei.type=0)printf("销售员姓名:%sn",usei.username);for(j=0;j<100;j+)if(usei.mdbj.flag=1)printf("商品名称:%s,出售数量:%dn&quo
36、t;,,usei.mdbj.total);intmonload(user*use)charname21;charpass7=0;intchose,chose2;inti,j;while(1)system("cls");printf("用户名:");scanf("%s",&name);printf("密码:");for(i=0;i<6;i+)passi=getch();printf("*");while(1)printf("nn用户登陆信息输入完
37、毕,是否确认?1,确认0,重新输入n");scanf("%d",&chose);if(chose!=1&&chose!=0)printf("你的输入有误,请重新的输入!n");continue;if(chose=1)for(i=0;i<200;i+)if(usei.type=1)if(strcmp(usei.username,name)=0)if(strcmp(usei.pass,pass)=0)printf("登陆成功!请继续使用!n");strcpy(usertemp.username,na
38、me);return1;printf("输入的用户名或者密码有误!1,重新登陆2,退出登陆!n");scanf("%d",&chose2);if(chose2=1)system("cls");break;elsesystem("cls");return0;if(chose=0)break;intmonout()intchose;while(1)system("cls");printf("n在线用户:%snn",usertemp.username);printf(&qu
39、ot;你确定要注销吗?1,注销0,取消nn");scanf("%d",&chose);if(chose!=0&&chose!=1)你的选项出现了错误,请重新的输入!nnn");printf("system("pasue");continue;if(chose=1)printf("店长账户注销完毕!nnnn");strcpy(usertemp.username,"unknown");return1;elsereturn0;intfix(DRESS*dress)ch
40、arname20,name220;inttotal;intnow;inti;system("cls");printf("n户:%snn",usertemp.username);printf("请输入需要修改信息的商品的名称:");scanf("%s",&name);for(i=0;i<500;i+)if(strcmp(,name)=0)printf("商品信息:n名称:%s,现存:共:%dn",,dressi.now,dressi.tot
41、al);printf("nn请输入修改以后的商品的名称:");scanf("%s",&name2);printf("nn请输入修改以后的商品的现存:");scanf("%d",&now);printf("nn请输入修改以后的商品的总共:");scanf("%d",&total);strcpy(,name2);dressi.now=now;dressi.total=total;printf("nn");print
42、f("修改以后的商品信息:n名称:s,现存:共:%dn",,dressi.now,dressi.total);在线用%d, 总%d, 总return1;)printf("修改信息失败!请查正以后重新的操作!nnn");return0;)intmonmenu(user*use,DRESS*dress)(inti;intchose1;while(1)(system("cls");printf("n在线用户:%snn",usertemp.username);printf("/=用户功能菜单=/八n")printf("/八n");printf("/1,商品浏览/八n");printf("/2,商品查找/n");printf("/3,销售员业绩/n");printf("/4,商品信息修改/n");printf("/5,密码修改/n");printf("/6,用户注销/n"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北海市初中数学试卷
- 豆类项目风险识别与评估综合报告
- 边坡锚杆锚索腰梁施工方案
- 浙江油田油管清洗施工方案
- 房屋地面铺装工程施工方案
- 三水装配式检查井施工方案
- “油茶+N”混交造林模式的技术创新与应用实践的效益详述
- 智能制造与供应链管理的策略及实施路径
- 数字化改造的必要性与挑战
- 变电站巡检的重要性
- 2024年江苏护理职业学院高职单招语文历年参考题库含答案解析
- DB61T 5097-2024 强夯法处理湿陷性黄土地基技术规程
- 南瓜小房子故事课件
- 2024年苏州经贸职业技术学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 风电场道路及平台施工组织方案
- 风险分级管控74411ppt课件(PPT 146页)
- 三八女神节活动策划PPT课件
- 毕业设计(论文)3000t自由锻液压机本体设计
- 风力发电机组PLC系统
- Q∕GDW 12131-2021 干扰源用户接入电网电能质量评估技术规范
- T∕CAEPI 32-2021 全尾砂膏体充填关键设备技术要求
评论
0/150
提交评论