服装销售系统.docx
- 文档编号:16167222
- 上传时间:2023-07-11
- 格式:DOCX
- 页数:40
- 大小:194.81KB
服装销售系统.docx
《服装销售系统.docx》由会员分享,可在线阅读,更多相关《服装销售系统.docx(40页珍藏版)》请在冰点文库上搜索。
服装销售系统
一、【题目】:
服装销售系统
【要求】
(1)系统包含三类用户:
管理员、店长、销售员。
(2)向管理员提供以下功能:
自身密码修改、其她用户添加删除、用户信息修改、统计。
商品信息添加、修改、删除、查找、统计。
(3)向店长提供以下功能:
登录、注销、自身密码修改、自身信息修改,商品信息修改、商品信息设计,查瞧日报表、月报表、商品销售量报表、查找浏览器修改商品储备信息。
(4)向销售员提供以下功能:
商品浏览、查找、出售,查瞧自己本日报表、本月报表。
[提示]
(1)总体设计:
整个服装销售系统可设计为管理员模块、店长模块、销售员模块、商品模块等。
(2)数据结构采用结构体。
二、结构图
根据需求分析,该程序中销售员应实现如下功能:
商品浏览、商品查找、出售商品、销售记录、用户注销,具体结构图如下。
店长应实现如下功能:
登录、注销、自身密码修改、自身信息修改,商品信息修改、商品信息设计,查瞧日报表、月报表、商品销售量报表、查找浏览器修改商品储备信息,具体结构图如下。
管理员需要实现如下功能:
自身密码修改、其她用户添加删除、用户信息修改、统计。
商品信息添加、修改、删除、查找、统计。
具体结构图如下。
三、程序中典型得流程图分析
(一)添加模块
(1)分析:
信息添加模块职工得基本信息包括:
用户、商品基本信息,对它们输入后,要存进原文件,流程图如下。
(二)浏览模块
(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请输入用户得类型:
0,销售员1,店长");
scanf("%d",&type);
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 if(use[i]、flag==0) { printf("注册成功! 请继续使用! \n"); 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) printf("用户姓名: %s用户密码: %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用户密码: %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 dress[i]、now=dress[i]、nownum; 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; whi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 服装 销售 系统