服装销售系统【精选文档】_第1页
服装销售系统【精选文档】_第2页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、服装销售系统【精选文档】 一、【题目】:服装销售系统 【要求】(1) 系统包含三类用户:管理员、店长、销售员。(2) 向管理员提供以下功能:自身密码修改、其他用户添加删除、用户信息修改、统计。商品信息添加、修改、删除、查找、统计.(3) 向店长提供以下功能:登录、注销、自身密码修改、自身信息修改,商品信息修改、商品信息设计,查看日报表、月报表、商品销售量报表、查找浏览器修改商品储备信息。(4) 向销售员提供以下功能:商品浏览、查找、出售,查看自己本日报表、本月报表。提示(1) 总体设计:整个服装销售系统可设计为管理员模块、店长模块、销售员模块、商品模块等。(2) 数据结构采用结构体。二、结构图

2、根据需求分析,该程序中销售员应实现如下功能:商品浏览、商品查找、出售商品、销售记录、用户注销,具体结构图如下。销售员商品浏览商品查找出售商品销售记录用户注销店长应实现如下功能:登录、注销、自身密码修改、自身信息修改,商品信息修改、商品信息设计,查看日报表、月报表、商品销售量报表、查找浏览器修改商品储备信息,具体结构图如下。店长商品浏览商品查找销售员业绩商品信息修改密码修改用户注销 管理员需要实现如下功能:自身密码修改、其他用户添加删除、用户信息修改、统计.商品信息添加、修改、删除、查找、统计。具体结构图如下。添加用户 管理员删除用户退出系统注销账户修改密码商品统计查找商品删除商品添加商品统计用

3、户三、程序中典型的流程图分析(一)添加模块(1)分析:信息添加模块职工的基本信息包括:用户、商品基本信息,对它们输入后,要存进原文件,流程图如下。文件打开否 输入信息是否继续将信息输出到磁盘调用printf_back()函数结束开始输出错误信息(二)浏览模块(1)分析:浏览功能首先需要查找信息是否存在,在查找时,因为磁盘文件无序,所以采用直接查找的办法。在容错上有较好的能力,输错时系统会有提示,也会作出相应的反映。算法和以上的分程序有相同的优点。流程开始打开文件否输出错误信息查找商品信息是否查找到输出商品信息操作存盘是否继续结束(三)查询模块(1)分析:基本信息的查询按查询方式:按商品的名称查

4、询,可供选择的方式比较丰富。但本程序只使用了一种。在查询小模块中采用了直接查找的方法,这主要是由于磁盘文件无序的缘故。程序在选择结构上采用了if和else的嵌套形式,看起来有点繁杂,没有用switch语句直观明了,这个地方可以改成更好的。开始文件打开查询方式是否继续结束输出错误信息商品的名称(四)删除模块(1)分析:商品信息存放在磁盘中,程序须将该文件全部取出来,在内存中把要删掉的内容除去,然后在重新输入到磁盘,这种算法比较合理,但有一点烦琐。可以改为另一种办法:设置一个标示符,对有这些标识符的记录在下次输入时跳过,在新商品信息输入时,将其覆盖就行了。在对文件进行删除时,考虑到很多方面,如:查

5、询不到时系统该如何处理等。人性化设计有在删除之前询问是否继续。流程图开始文件打开查找商品信息是否查找到输入信息是否继续结束输出错误信息删除操作五)修改模块(1)分析:修改与删除程序相似,管理员信息存放在磁盘中,程序须将该文件全部取出来,在内存中把要修改的内容修改,然后在重新输入到磁盘,这种算法比较合理,但有一点烦琐,可以改进。开始文件打开查找职工信息是否查找到输入信息是否继续结束输出错误信息修改操作四、题目分析1、按照系统需要三类用户用它作为主函数:int main() user use; DRESS *dress; ADMIN adm; use=(user )malloc(200*sizeo

6、f(user)); userIntiate(use); adm=(ADMIN *)malloc(sizeof(ADMIN)); adminIntiate(adm); dress=(DRESS )malloc(500sizeof(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")

7、; printf(” /=功能菜单=/n"); printf(” / /n");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(&quo

8、t; 你的选择出现错误!按任意键重新的进入选择菜单!n"); 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)

9、 system("pause”); temp2=adminmenu(adm,use,dress); return 3; system("pause”);continue;default: exit(0);/while()3、当选择管理员的时候就用如下程序,注明(管理员的初始账号是admin,密码是123456)int regnew(user *use) char name21; char pass7=0; int chose; int i,j; int type; while(1) system("cls"); printf(” 用户名:");

10、 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”); cont

11、inue; 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; return 1; else break; int deluser(user use) int i; char name20; printf(” 请输入你想要删除的用户的用户名:”); scanf(”s",name); for(i=0

12、;i200;i+) if(strcmp(usei。username,name)=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(use

13、i。flag=1) printf(” 用户姓名: s 用户密码: s n”,usei。username,usei.pass); printf(” 店长:n"); for(i=0;i<200;i+) if(usei.type=1) if(usei。flag=1) printf(" 用户姓名: %s 用户密码: %s n",usei。username,usei.pass); int adminload(ADMIN adm) char name21; char pass7=0;int chose,chose2;int i,j; while(1) system(&q

14、uot;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!=1&chose!=0) printf(” 你的输入有误,请重新的输入!n”); continue; if(chose=1) if(strcm

15、p(adm-name,name)=0) if(strcmp(admpass,pass)=0) printf(" 登陆成功!请继续使用! n"); strcpy(usertemp.username,name); return 1; printf(” 输入的用户名或者密码有误!1,重新登陆 2,退出登陆!n”); scanf(”%d”,&chose2); if(chose2=1) system(”cls”); break; else system(”cls"); return 0; if(chose=0) break; int adminpass(ADMIN

16、*adm) int i; char pass20=0; char pass220=0; while(1) system(”cls”); printf(" 请输入新的管理员密码:"); for(i=0;i<6;i+) passi=getch(); printf(”"); printf("nnn 请再次输入新的管理员密码:”); for(i=0;i<6;i+) pass2i=getch(); printf(”*"); if(strcmp(pass,pass2)!=0) printf(”nn 两次输入的新的密码不一样,请重新的输入!nnn

17、”); system("pause”); else printf(”n 密码修改成功!下一次管理员登陆请使用新的密码!nnn"); strcpy(adm>pass,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(” 你的选项出现了错误,请重新的输

18、入!nnn"); system("pasue"); continue; if(chose=1) printf(" 管理员账户注销完毕! nnnn”); system("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 admin

19、menu(ADMIN *adm,user *use,DRESS dress) int chose1; 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"

20、); 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(chose1<0|chose1>9) printf(" 你的输入有误,请

21、重新的输入!n”); system(”pasue"); continue; 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); sys

22、tem("pasue”);break;case 5:system("cls");deldress(dress);break;case 6:system("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()=

23、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; int i,j; while(1) system("cls"); printf(" 用户名:"); scanf(”%s”,&name); printf(” 密 码:”);for(i=0;i<6;i+) passi=getch(); prin

24、tf(”"); while(1) printf(”nn 用户登陆信息输入完毕,是否确认? 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=0) if(strcmp(usei.username,name)=0) if(strcmp(usei。pass,pass)=0) printf(” 登陆成功!请继续使用!

25、n”); strcpy(usertemp。username,name); return 1; printf(" 输入的用户名或者密码有误!1,重新登陆 2,退出登陆!n"); scanf("%d”,chose2); if(chose2=1) system(”cls"); break; else system("cls”); return 0; if(chose=0) break; 这里面包含了管理员的十个功能选项。4,选择销售员和店长,(注明第一次运行时本来没有销售员和店长,需要管理员添加。)int userout() int chose; w

26、hile(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(usert

27、emp。username,”unknown”); / system(”pause”); return 1; else return 0; int sold(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(&

28、quot;d”,&num); for(k=0;k<200;k+) if(strcmp(usek.username,usertemp.username)=0) for(i=0;i<500;i+) if(strcmp(dressi。name,name)=0) if(dressi.now<num) break; dressi。now=dressi.nownum; printf(”nnn 商品 %s已经销售出了 d件n”,name,num); for(j=0;j100;j+) if(usek.mdbj。flag=0) strcpy(usek。mdbj。name,name);

29、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,usertemp。username); system("cls”); printf(”n 在线用户: snn",usertemp。username); for(i=0;i<100;i+) if(strcmp(usei.username,name)=0) for(j

30、=0;j100;j+) if(usei。mdbj。flag=1) printf(" 商品名称: s ,出售数量 : %dn”,usei。mdbj。name,usei。mdbj.total); int usermenu(user *use,DRESS *dress) int i; int chose1; while(1) system(”cls”); printf(”n 在线用户: %snn",usertemp。username); printf(" /=用户功能菜单=/n"); printf(" / /n"); printf(” /

31、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(chose10|chose1>9)

32、printf(" 你的输入有误,请重新的输入!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(use); system(”pause”);break;

33、case 5: system("cls");if(userout()=1) return 3; break; default: continue; int monpass(user use) int i; char 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 两次输入的新的密码不一样,请重新的输入

温馨提示

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

评论

0/150

提交评论