服装销售系统分析解析.docx

上传人:b****6 文档编号:7945964 上传时间:2023-05-12 格式:DOCX 页数:33 大小:153.17KB
下载 相关 举报
服装销售系统分析解析.docx_第1页
第1页 / 共33页
服装销售系统分析解析.docx_第2页
第2页 / 共33页
服装销售系统分析解析.docx_第3页
第3页 / 共33页
服装销售系统分析解析.docx_第4页
第4页 / 共33页
服装销售系统分析解析.docx_第5页
第5页 / 共33页
服装销售系统分析解析.docx_第6页
第6页 / 共33页
服装销售系统分析解析.docx_第7页
第7页 / 共33页
服装销售系统分析解析.docx_第8页
第8页 / 共33页
服装销售系统分析解析.docx_第9页
第9页 / 共33页
服装销售系统分析解析.docx_第10页
第10页 / 共33页
服装销售系统分析解析.docx_第11页
第11页 / 共33页
服装销售系统分析解析.docx_第12页
第12页 / 共33页
服装销售系统分析解析.docx_第13页
第13页 / 共33页
服装销售系统分析解析.docx_第14页
第14页 / 共33页
服装销售系统分析解析.docx_第15页
第15页 / 共33页
服装销售系统分析解析.docx_第16页
第16页 / 共33页
服装销售系统分析解析.docx_第17页
第17页 / 共33页
服装销售系统分析解析.docx_第18页
第18页 / 共33页
服装销售系统分析解析.docx_第19页
第19页 / 共33页
服装销售系统分析解析.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

服装销售系统分析解析.docx

《服装销售系统分析解析.docx》由会员分享,可在线阅读,更多相关《服装销售系统分析解析.docx(33页珍藏版)》请在冰点文库上搜索。

服装销售系统分析解析.docx

服装销售系统分析解析

 

一、【题目】:

服装销售系统

【要求】

(1)系统包含三类用户:

管理员、店长、销售员。

(2)向管理员提供以下功能:

自身密码修改、其他用户添加删除、用户信息修改、统计。

商品信息添加、修改、删除、查找、统计。

(3)向店长提供以下功能:

登录、注销、自身密码修改、自身信息修改,商品信息修改、商品信息设计,查看日报表、月报表、商品销售量报表、查找浏览器修改商品储备信息。

(4)向销售员提供以下功能:

商品浏览、查找、出售,查看自己本日报表、本月报表。

[提示]

(1)总体设计:

整个服装销售系统可设计为管理员模块、店长模块、销售员模块、商品模块等。

(2)数据结构采用结构体。

二、结构图

根据需求分析,该程序中销售员应实现如下功能:

商品浏览、

商品查找、出售商品、销售记录、用户注销,具体结构图如下。

销售记录

店长应实现如下功能:

登录、注销、自身密码修改、自身信息修改,商品信息修改、商品信息设计,查看日报表、月报表、商品销售量报表、查找浏览器修改商品储备信息,具体结构图如下。

管理员需要实现如下功能:

自身密码修改、其他用户添加删除、

用户信息修改、统计。

商品信息添加、修改、删除、查找、统计。

体结构图如下。

三、程序中典型的流程图分析

(一)添加模块

(1)分析:

信息添加模块职工的基本信息包括:

用户、商品基本信息,对它们输入后,要存进原文件,流程图如下。

(2)浏览模块

(1)分析:

浏览功能首先需要查找信息是否存在,在查找时,因为磁盘文件无序,所以采用直接查找的办法。

在容错上有较好的能力,输错时系统会有提示,也会作出相应的反映。

算法和以上的分程序有相同的优点。

[流程

(三)查询模块

(1)分析:

基本信息的查询按查询方式:

按商品的名称查询,可供选择的方式比较丰富。

但本程序只使用了一种。

在查询小模块中采用了直接查找的方法,这主要是由于磁盘文件无

序的缘故。

程序在选择结构上采用了if和else的嵌套形式,看起来有点繁杂,没有用switch

语句直观明了,这个地方可以改成更好的。

开始

商品的名称

结束

输出错误信息

(四)删除模块

(1)分析:

商品信息存放在磁盘中,程序须将该文件全部取出来,在内存中把要删掉的内容除去,然后在重新输入到磁盘,这种算法比较合理,但有一点烦琐。

可以改为另一种办法:

设置一个标示符,对有这些标识符的记录在下次输入时跳过,在新商品信息输入时,将其覆盖就行了。

在对文件进行删除时,考虑到很多方面,女口:

查询不到时系统该如何处理等。

人性化设计有在删除之前询问是否继续。

[流程图]

五)修改模块

(1)分析:

修改与删除程序相似,管理员信息存放在磁盘中,程序须将该文

件全部取出来,在内存中把要修改的内容修改,然后在重新输入到磁盘,这种算法比较合理,但有一点烦琐,可以改进。

四、题目分析

1、按照系统需要三类用户用它作为主函数:

intmain()

{

user*use;DRESS*dress;ADMIN*adm;

use=(user*)malloc(200*sizeof(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){

intchose;

inttemp,temp2;

while

(1)

{system("cls");

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("你的选择出现错误!

按任意键重新的进入选择菜单!

\n");system("pause");

continue;

}

switch(chose)

{

case1:

{system("cls");

if(userload(use)==1)

{usermenu(use,dress);

}

system("pause");

break;

}

case2:

{system("cls");

if(monload(use)==1)

{monmenu(use,dress);

}

break;

}

case3:

{

system("cls");temp=adminload(adm);

if(temp==1)

{system("pause");temp2=adminmenu(adm,use,dress);return3;

}

system("pause");continue;

}

default:

exit(0);

}

}//while()

}

3、当选择管理员的时候就用如下程序,注明(管理员的初始账号是admin,密码是123456)

intregnew(user*use)

{charname[21];

charpass[7]={0};

intchose;

inti,j;

inttype;

while

(1)

{

system("cls");

printf("scanf("%s",&name);

printf("

for(i=0;i<6;i++)

{pass[i]=getch();printf("*");

}

printf("\n\n

scanf("%d",&type);

while

(1)

{printf("\n\n

输入\n");

scanf("%d",&chose);if(chose!

=1&&chose!

=0){printf("continue;

}if(chose==1)

{for(i=0;i

if(use[i].flag==0)

{

用户名:

");

密码:

");

请输入用户的类型:

0,销售员1,店长");

用户注册信息入完毕,是否确认?

1,确认0,重新

你的输入有误,请重新的输入!

\n");

注册成功!

请继续使用!

\n");

printf("strcpy(use[i].username,name);strcpy(use[i].pass,pass);usernum++;

use[i].flag=1;

use[i].type=type;

return1;

}

}

elsebreak;

}

}

}

intdeluser(user*use)

{inti;

charname[20];

printf("请输入你想要删除的用户的用户名:

");

scanf("%s",name);

for(i=0;i<200;i++)

{if(strcmp(use[i].username,name)==0)

{printf("\n\n\n用户%s删除成功!

\n\n\n\n",name);strcpy(use[i].username,"unknown");use[i].flag=-1;return1;

}

}

printf("用户%s不存在!

请查正在次操作!

\n\n\n\n",name);

return0;

}

intuseall(user*use)

{inti;

system("cls");

printf("销售人员:

\n");

for(i=0;i<200;i++)

{if(use[i].type==0)

{if(use[i].flag==1)

%s

%s

printf("用户姓名:

%s用户密码:

\n",use[i].username,use[i].pass);

}

}

printf("店长:

\n");

for(i=0;i<200;i++)

{if(use[i].type==1)

{if(use[i].flag==1)

printf("用户姓名:

%s用户密码:

\n",use[i].username,use[i].pass);

}

}

}

intadminload(ADMIN*adm)

{charname[21];

charpass[7]={0};

intchose,chose2;

inti,j;

while

(1)

{

system("cls");

printf("管理员账号:

");scanf("%s",&name);

printf("密码:

");

for(i=0;i<6;i++)

{pass[i]=getch();printf("*");

}

while

(1)

{

printf("\n\n用户登陆信息输入完毕,是否确认?

1,确认0,重新输入\n");

scanf("%d",&chose);if(chose!

=1&&chose!

=0)

{

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("cls");break;

}

else

{system("cls");return0;

}

}if(chose==0)break;

}

}

}

intadminpass(ADMIN*adm)

{inti;

charpass[20]={0};

charpass2[20]={0};

while

(1)

{

system("cls");

printf("请输入新的管理员密码:

");

for(i=0;i<6;i++)

{pass[i]=getch();printf("*");

}

printf("\n\n\n请再次输入新的管理员密码:

");

for(i=0;i<6;i++)

{

pass2[i]=getch();printf("*");

}

if(strcmp(pass,pass2)!

=0)

{printf("\n\n两次输入的新的密码不一样,请重新的输入!

\n\n\n");system("pause");

}

else

{

printf("\n密码修改成功!

下一次管理员登陆请使用新的密码!

\n\n\n");

strcpy(adm->pass,pass);system("pause");

return1;

}

}

}

intadminout()

{intchose;

while

(1)

{system("cls");

printf("你确定要注销吗?

1,注销0,取消\n\n");scanf("%d",&chose);

if(chose!

=0&&chose!

=1)

{printf("你的选项出现了错误,请重新的输入!

\n\n\n");system("pasue");

continue;

}

if(chose==1)

{

printf("管理员账户注销完毕!

\n\n\n\n");system("pause");

return1;

}elsereturn0;

}

}

intout()

{intchose;system("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在线用户:

%s\n\n",usertemp.username);

printf("

//=__用户功冃能采单

//\n")

printf("

//

//\n");

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(chose1<0||chose1>9)

{

printf("你的输入有误,请重新的输入!

\n");system("pasue");

continue;

}

switch(chose1)

{

case1:

system("cls");regnew(use);system("pause");break;

}

case2:

{

system("cls");deluser(use);system("pause");break;

}

case3:

{

system("cls");useall(use);system("pause");break;

}

case4:

{

system("cls");adddress(dress);system("pasue");break;

}

case5:

{

system("cls");deldress(dress);break;

}

case6:

{

system("cls");

finddress(dress);

break;

case7:

system("cls");

dressall(dress);

 

system("pasue");

break;

}

case8:

{

system("cls");if(adminpass(adm)==1)continue;

break;

}

case9:

{

system("cls");if(adminout()==1)return3;

}

case0:

{system("cls");if(out()==1)continue;break;

}

default:

continue;

}

}

}

intuserload(user*use){charname[21];

charpass[7]={0};

intchose,chose2;

inti,j;

while

(1){

system("cls");

printf("用户名:

");

scanf("%s",&name);

printf("密码:

");

for(i=0;i<6;i++)

{pass[i]=getch();printf("*");

}

while

(1)

{printf("\n\n用户登陆信息输入完毕,是否确认?

1,确认0,重新输入\n");

scanf("%d",&chose);if(chose!

=1&&chose!

=0){printf("你的输入有误,请重新的输入!

\n");continue;

}

if(chose==1)

{for(i=0;i<200;i++)

{

if(use[i].type==0)

if(strcmp(use[i].username,name)==0)if(strcmp(use[i].pass,pass)==0){

printf("登陆成功!

请继续使用!

\n");

strcpy(usertemp.username,name);

return1;

}

}

printf("输入的用户名或者密码有误!

1,重新登陆2,退出登陆!

\n");

scanf("%d",&chose2);

if(chose2==1)

{

system("cls");

break;

}

else

{system("cls");return0;

}

}

if(chose==0)break;

}

}

}

这里面包含了管理员的十个功能选项。

4,选择销售员和店长,(注明第一次运行时本来没有销售员和店长,需要管理员添加。

intuserout()

{intchose;

while

(1)

{system("cls");

printf("\n在线用户:

%s\n\n",usertemp.username);

printf("你确定要注销吗?

1,注销0,取消\n\n");scanf("%d",&chose);

if(chose!

=0&&chose!

=1)

{

printf("你的选项出现了错误,请重新的输入!

\n\n\n");system("pasue");

continue;

}if(chose==1)

{

printf("销售员账户注销完毕!

\n\n\n\n");strcpy(usertemp.username,"unknown");

//system("pause");

return1;

}

elsereturn0;

}

}

intsold(user*use,DRESS*dress)

{charname[20];

intnum;

inti;

intj;

intk;system("cls");

printf("\n在线用户:

%s\n\n",usertemp.username);

printf("请输入要出售的商品的名称:

");scanf("%s",&name);

printf("\n请输入出售的数量:

");scanf("%d",&num);

for(k=0;k<200;k++)

{if(strcmp(use[k].username,usertemp.username)==0)for(i=0;i<500;i++)

{if(strcmp(dress[i].name,name)==0){

if(dress[i].now

printf("\n\n\n商品%s已经销售出了%d件\n",name,num);for(j=0;j<100;j++)

{

if(use[k].mdb[j].flag==0)

{

strcpy(use[k].mdb[j].name,name);

use[k].mdb[j].flag=1;

use[k].mdb[j].total=num;

return1;

}

}

}

}

}

printf("商品出售出现错误!

请重新操作!

\n\n\n");

return0;

}

voidmounth(user*use)

{inti;

intj;

charname[20];

strcpy(name,usertemp.username);

在线用

售数

system("cls");

printf("\n

户:

%s\n\n",usertemp.username);

for(i=0;i<100;i++)

{if(strcmp(use[i].username,name)==0)

{for(j=0;j<100;j++)

{

if(use[i].mdb[j].flag==1)

printf("商品名称:

%s,出量:

%d\n",use[i].mdb[j].name,use[i].mdb[j].total);

}

}

}

}

intusermenu(user*use,DRESS*dress)

{inti;

intchose1;

while

(1)

在线用

11=======用户功能菜单=====//\n");

{system("cls");printf("\n户:

%s\n\n",usertemp.username);printf("

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(chose1<0||chose1>9)

{

printf("

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2